解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory
作者:潇似风
这篇文章主要介绍了解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用百度地图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 },
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- vue项目引入百度地图BMapGL鼠标绘制和BMap辅助工具
- vue中报错“error‘xxx‘ is defined but never used”问题及解决
- Vue-cli3 $ is not defined错误问题及解决
- 解决Vue控制台报错Failed to mount component: template or render function not defined.
- vue报错Cannot read properties of undefined (...)类型的解决办法
- vue在data中定义变量后依旧报undefined的解决
- 完美解决vue引入BMapGL is not defined的问题