亲宝软件园·资讯

展开

解决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
  },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论