huiyan-fe / mapvgl

百度地图三维地理信息可视化库
MIT License
37 stars 4 forks source link

BMapGL如何完整的清理掉占用的内存和产生的DOM对象? #52

Open tangchi695 opened 3 years ago

tangchi695 commented 3 years ago

因为找不到BMapGL的交流论坛,所以跑来这里请教各位彭于晏一点问题。 在Vue里使用BMapGL,遇到内存泄漏的问题,切换组件以后,BMapGL产生的内存和DOM都没有被释放掉。而且调用了destroy()方法,和各种clearXXX方法,没啥用,而且渲染上下文似乎也清理不掉,一直占用着CPU。

472527381 commented 3 years ago

= =我也遇到了。。我试了直接移除map这个对象,或者是移除掉cavans这个dom对象都不行。。

Junior2Ran commented 3 years ago

50 类似的问题

mapvgl销毁前执行view.destroy() BMapGL的地图对象销毁前执行map.destroy()

tangchi695 commented 3 years ago

50 类似的问题

mapvgl销毁前执行view.destroy() BMapGL的地图对象销毁前执行map.destroy()

我调用了map.destroy(),map也置null了,没有用,全局的一个_indoorMgr对象里还保留了map实例的引用。如果我删除这个实例,再次回到切换到map的页面上时,渲染的地图会出错。 直接到官方的实例上测试,在控制台切换到container上下文,然后调用map.destroy(),只是页面上的地图渲染消失了,不过内存和DOM没有任何变化,手动回受内存也没有效果。 再调用map.dispose()方法可以看到持续报错,说明渲染上下文并没有销毁,还在不停循环。

cooper1x commented 2 years ago

@tangchi695 我也是这个问题,你解决了吗

ab690257072 commented 1 year ago

同问

LiuJianhuo commented 1 year ago

因为找不到BMapGL的交流论坛,所以跑来这里请教各位彭于晏一点问题。 在Vue里使用BMapGL,遇到内存泄漏的问题,切换组件以后,BMapGL产生的内存和DOM都没有被释放掉。而且调用了destroy()方法,和各种clearXXX方法,没啥用,而且渲染上下文似乎也清理不掉,一直占用着CPU。

你这内存泄露是在手机端还是pc端呢

alysalee commented 8 months ago

想问下这个解决了吗?手机PC都存在内存泄露问题