安卓map组件内存泄漏
发布于 6 年前 作者 weizhao 15245 次浏览 来自 问答

在我的小程序里,我一直在regionchange里更新小程序map组件的markers,controls,和polyline。

但打开性能监控面板的时候,发现每次调用regionchange内存有增长不少,让我怀疑是不是因为map组件更新controls和polyline数组的时候有产生内存泄漏因为markers用同样的逻辑是没有内存增长的,而且这些问题在iOS上是没有看到的。

在wxml里的map初始化:

<map ... controls="{{map.controls}}" polyline="{{map.polyline}}" markers="{{map.markers}}" ... />

在js文档里的处理逻辑:

...

data: {

map: {

polyline: ...,

markers: ...,

controls: ...

}

},

updateMarkers: function() {

nmarkers = [...]

this.setData({

'map.markers': nmarkers

})

},

updateControls: function() {

ncontrols = [...]

this.setData({

'map.controls': ncontrols

})

}


在这个例子里,安卓updateControls会产生内存增长,但updateMarkers不会。有没有人知道为什么?

**会不会跟markers和controls的数据结构有关?因为markers是2D的 list(obj) 但controls是3D的 list(obj(obj)). Polyline 也是3D的 list(obj(list))。如果真的是这个原因又要怎么解决呢?

1 回复

我们会尽快跟进该问题

回到顶部