我有一个应用程序编写科尔多瓦(Phonegap)2.3.0。 我使用Jquery 1.8.2和jquerymobile 1.2.0和google maps v3。 XCode 4.6版iPhone手机谷歌地图内存警告
在一页上,我加载了一堆坐标并创建了添加到地图的不同多段线。 有37条多段线添加到地图中,每条多段线包含20到200个坐标。地图上总共约有1700个坐标。 我也有20个标记。
该应用从开始工作正常,我可以放大和缩小地图反应良好,但如果我重新加载地图,我有时会开始在XCode中收到类似“收到内存警告”的消息,地图也不会再更新有时应用程序崩溃。
这是我的澄清例程我将更新后的数据之前调用: 函数提供clearOverlays(){
try {
if (polyLinesArray != null) {
for (var i = 0; i < polyLinesArray.length; i++) {
polyLinesArray[i].setMap(null);
polyLinesArray[i] = null;
}
polyLinesArray.length = 0;
}
}
catch(e) {
handleError(e, "clearOverlays");
}
}
polyLinesArray是我推所有折线阵列加入后,他们到地图。
所以问题是,我怎样才能以一种很好的方式清除地图防止内存警告(和泄漏?)?
我的鼠标点击了多段线上的听众,是否需要在更新之前清除它们?
当我导航到应用程序中的另一个html页面时会发生同样的情况。经过几次向前和向后的地图不会再更新。在我导航到其他页面之前,我首先调用我的清除例程。
另一个简单的测试: 我只是加载地图,添加我的折线和其他标记。放大和缩小几次,然后出现“接收到的内存警告”。我没有做任何其他事情,只是让谷歌地图处理缩放和平移周围。
问候 亨里克
我有类似的问题,你找出解决方案吗? – 2013-04-24 16:16:49