地图上的Leafletjs内存泄漏删除
Posted
技术标签:
【中文标题】地图上的Leafletjs内存泄漏删除【英文标题】:Leafletjs memory leak on map remove 【发布时间】:2018-01-05 19:35:34 【问题描述】:我为map.remove()
中的一个潜在问题开发了一个样本。
见:https://jsfiddle.net/moricio/e2wvwgu8/1/
此示例将选择一个随机的 lat/lng,并将显示以该点为中心的地图。在移除地图并生成新位置之前,它将等待 10 秒。它一遍又一遍地这样做。
如果您在 Chrome 中打开此示例并检查 Chrome 任务管理员 (Shift-Esc),您会注意到在每个删除/添加对处,选项卡使用的内存将增加,直到您的系统在几个小时后抓取。
错误还是我的错误?
【问题讨论】:
【参考方案1】:这是 Leaflet 中的一个已知问题 - 请参阅 https://github.com/Leaflet/Leaflet/issues/5263 和 https://github.com/Leaflet/Leaflet/pull/5265 。在此更改之前,任何L.Canvas
或L.SVG
(包括默认的)都会泄漏大量内存。在该更改之后的 Leaflet 版本中,您应该只会在一个(难以定位)循环引用中遇到对 L.Draggable
实例的泄漏,这应该不是什么大问题。
【讨论】:
以上是关于地图上的Leafletjs内存泄漏删除的主要内容,如果未能解决你的问题,请参考以下文章