作者:李程VS_328_302 | 来源:互联网 | 2023-06-14 18:38
目录使用百度地图BMapGL内存泄漏OutofMemory解决1.对象不定义在data中2.在vue中组件使用v-if指令会从dom中移除使用百度地图BMapGL内存泄漏OutofMemory在项目中使用了ElementUI的dra
目录
- 使用百度地图BMapGL内存泄漏 Out of Memory
- 解决
- 1.对象不定义在data中
- 2.在vue中组件使用 v-if 指令会从dom中移除
使用百度地图BMapGL内存泄漏 Out of Memory
在项目中使用了ElementUI 的 drawer 组件有地图操作
并开启了 :destroy-on-close=“true” 。
开关多次以后浏览器崩溃了。
刷新页面,打开任务管理器,复现刚刚的操作,会发现浏览器的内存占用一直在增加
解决
1.对象不定义在data中
initMap(){
map = new BMapGL.Map("allMap") // 创建Map实例
}
2.在vue中组件使用 v-if 指令会从dom中移除
但不会清除地图实例,所以要在销毁钩子里对地图进行销毁
beforeDestroy() {
map.destroy()
map = null
},
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文地址:https://blog.csdn.net/qq_34999583/article/details/124651764