引入腾讯地图,电脑内存CPU占比升高,卡顿问题

本文探讨了在项目中使用腾讯地图导致电脑内存和CPU占用过高的问题,分析了可能的原因是地图实例被多次创建并占用大量缓存。提出了解决方案,包括通过删除DOM节点或调用地图的`destroy()`方法来销毁地图实例,有效降低了内存占用,并减少了CPU的使用。此外,还提醒在创建大型组件时避免在data中存储实例,建议使用全局变量并在页面销毁时释放,以提高网页运行效率。
摘要由CSDN通过智能技术生成

最近在做一个项目,需要应用腾讯地图,但是每当进入包含腾讯地图的页面,电脑内存占比就会持续升高,没过几次,电脑就会变的非常卡顿,

这是没有进入地图页面之前的内存占比:

这是进入地图页面几次后的内存占比,并且该内存占比并不会下降的很快,对于一般的笔记本而言就会造成非常严重的卡顿问题。

 查询了许多资料都没有找到相对应的解决方法,最后还是前辈一针见血的指出问题,可能是地图实例被多次创建,占用大量缓存的问题,找到问题所在就非常容易解决问题了,这里有两种方式:

1、可以通过对地图的DOM节点进行删除的操作,在页面退出销毁之前,清除地图所在的DOM节点,可以通过v-if进行实现

2、这一种是比较推荐的方式,在腾讯地图官方文档中查找销毁地图实例的方法,可以通过map.destroy()方法,在页面销毁之前进行地图实例的销毁

map.destory()

再次进入地图页面可以看到,电脑的内存占比不会持续升高,会维持在一个固定的范围,并且在退出页面之后,内存的释放也非常迅速,不会造成应用网站的卡顿现象。

除此之外,除了内存的升高,在地图组件或者其他组件引入的时候还要注意cpu的占用情况,此处非常注意,在使用需要加载大量资源创建实例的组件的时候,不论是什么项目,以vue为例,尽量不要将创建的实例存储在data中,这样会在进入该页面的时候占用耗费大量资源,导致网页应用卡顿,如图:

 上图可以看到,cpu的占用耗费是非常高的,并且难以下降

这里有一个解决办法,就是在vue页面内声明一个全局变量用来接收实例对象,在页面的销毁的时候在进行释放,这样操作会有效减少cpu的占用情况,提升网页应用运行速率。

以上仅为个人见解

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值