解决echarts的图表数据导致内存泄露的问题!

750 阅读1分钟

最近可视化项目遇到个问题,在pad端的多个可视化页面的中切换筛选日期加载可视化数据中,出现pad端的内存不断增加,切换多两次出现app闪退的情况, 初步怀疑是页面的echarts加载数据量大,且pad的运行内存只有4G,运行内存小才出现溢出导致的闪退, 开始试了懒加载和按需加载组件,但是还是会出现闪退,App端也同步排查,但是也看不到崩溃日记, 排查发现在页面中总共使用了十几个图表,由于在每次加载路由时,对每个图表进行了初始化,创建了echarts实例,但是在销毁组件的时候并没有销毁echarts实例,查询资料,官方提供了dispose()方法对实例进行销毁,并释放了实例。用上过后,从本地测试中查看内存也不怎么增加,打包发布测试后pad也没出现闪退的情况,初步解决了问题

image.png 注:因为dispose是完全对实例进行了销毁,所以假如要重新构建echarts需要重新使用init方法进行初始化.