Comments (16)
内存泄漏问题终于解决了,十分感谢您的帮助。虽然昨天本地项目就可以正常运行,但因为我们公司把项目并入了微前端,在微前端上无法初始化界面,用了高德相关的api提前初始化就会导致内存泄漏的问题,这也是clearMap以后内存还在泄漏的原因。今天终于找到无法初始化的原因,在微前端的index.html上还有一份旧的高德引入的script,应该和我引入的形成冲突,注释掉之后问题解决
from echarts-extension-amap.
这个我怎么能快速地复现一下?当前给出的代码无法直接执行,也显得有些复杂。能用 Codepen 提供个简化之后的在线例子吗?
from echarts-extension-amap.
我已经通过邮件将相关文件发给你,不知道有没有收到。只要将vue文件作为组件引入就行,在public里面放入一个包含geo的文件夹即可重现。
from echarts-extension-amap.
似乎没有收到,你发送的是邮箱地址是?
from echarts-extension-amap.
from echarts-extension-amap.
可能是你填错邮箱地址了,邮箱地址在我的 GitHub 主页,稍后麻烦你再发一遍吧。
from echarts-extension-amap.
可能是你填错邮箱地址了,邮箱地址在我的 GitHub 主页,稍后麻烦你再发一遍吧。
from echarts-extension-amap.
代码里为什么在每次刷新前要 clear 一下?这样会导致整个地图完全重新加载。不过根据你这个用法也发现了在 clear 的时候,现在的逻辑会出现地图实例可能无法被正常销毁的 bug。
from echarts-extension-amap.
代码里为什么在每次刷新前要 clear 一下?
我是在公司老前端的一些代码基础上改的,他的代码思路比较完善,所以我保留了clear。主要感觉clear总比不clear更完善一点,可能可以避免一些其他问题,是否会带来什么问题,暂时没遇到
from echarts-extension-amap.
代码里为什么在每次刷新前要 clear 一下?这样会导致整个地图完全重新加载。不过根据你这个用法也发现了在 clear 的时候,现在的逻辑会出现地图实例可能无法被正常销毁的 bug。
我找到了要用clear的原因,我下面还注释掉了一部分代码,用axios的,我还给高德的amap加了一层geo的覆盖层,如果不用clear,覆盖层会越叠越厚,这个同样占内存,但是2边大部分相似的代码,AMap没有定义,简化代码的不能使用,我原始的那个可以
from echarts-extension-amap.
我找到简化出问题的原因了,index.html里面的<script src="https://webapi.amap.com/maps?v=2.0&key=key&plugin=AMap.GeoJSON"></script>被我注释了。这样去掉clear,我怎么清除我添加的这个覆盖层
from echarts-extension-amap.
这个要调用高德地图本身的API,添加是 amap.add
移除是 amap.remove
。
from echarts-extension-amap.
这个要调用高德地图本身的API,添加是
amap.add
移除是amap.remove
。
remove使用后没有效果,不知道是不是我无法指定的问题。
现在我把remove换成clearMap
const amap = this.chart.getModel().getComponent('amap').getAMap()
amap.clearMap()
amap.add(geojson)
然后去掉了echarts的clear,效果层面比原来更好,内存还是会在每次数据刷新时小幅度上涨,但是不会下降,总体上应该泄漏的更少,这个amap是不是和高德的map还是不同
from echarts-extension-amap.
map 实例和高德地图是一样的,amap.remove(geojson)
应该是可以的,如果不可以可能是你的用法有问题。
from echarts-extension-amap.
from echarts-extension-amap.
没有看到你所说的“下图红色的内存部分”。没有可复现的例子的话,就很难办了。如果需要用到编译环境,可以考虑用 codesandbox 来做 Demo,注意简化代码逻辑,只留下必要的部分。
from echarts-extension-amap.
Related Issues (20)
- 高德地图Marker对象的事件无法触发。 HOT 1
- 请问这个用这种方式生成的amap 包含在哪个容器里面 为什么我无法改变它的大小 在vue中
- 这个问题当中 使用v1.8.0打包后能够加载 但是使用后续版本还是无法正确加载地图 使用1.8.0会有一个echart层和地图层有偏移的问题 但是后续版本又无法打包 HOT 3
- 3D model not showing HOT 2
- 散点图,数量达到3500个点以上就会出现卡顿 HOT 6
- 关于速度 HOT 5
- 有匹配高德API 2.0的计划吗? HOT 10
- 如何解决在echarts 上拖拽同时地图一同拖拽 HOT 5
- 切换按钮页面丢失 HOT 1
- 地图展示ecahrt 饼图,饼图位置一直在地图左上角 HOT 3
- echarts图层遮挡高德地图的mark HOT 2
- 使用高德v2.0时,拖动地图时上面的图表跟随会慢一拍 HOT 1
- 高德自建的自定义地图,使用无效 HOT 1
- 引入自己的key和自定义地图主题无效 HOT 1
- 高德地图图层全屏遮挡原有组件 HOT 2
- 高德地图是否可以实现官方示例中的格点图 HOT 2
- 请教高德地图 loca.js ContourLayer的问题
- 高德地图版本判断方式有误 HOT 2
- 高德地图2.0区域掩模的问题 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from echarts-extension-amap.