解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory
潇似风 人气:0使用百度地图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 },
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容