我有一个 MapView,我在其中放置了一些 ca。200 个叠加层,都带有相同的图片。我使用 Restlet 获取位置数据。但这不应该是问题,因为我获得数据的速度足够快。
问题是,MapView 非常慢。性能会随着叠加层的数量而降低,但它不应该,因为在 iPad 上,有一个应用程序可以轻松做到这一点。我的平板电脑的 Ghz 更高。平板电脑一次又一次地加载地图的一部分,即使我不滚动它。
所以我认为我做错了什么。所以我有一些问题:
LogCat 说:
GC_CONCURRENT freed 287K, 6% free 7222K/7623K, paused 1ms+2ms
并重复此操作,试图连续获得一些空间。是否有可能这是问题所在并且缓存填充过多?覆盖层的阴影是否可能会花费相当多的性能?我怎样才能删除它们?
按返回按钮如何删除所有数据?我必须在
onStop()
and中插入onDestroy()
什么?据我所知,垃圾收集器会自动完成所有这些工作。我还能做什么?删除叠加层?我使用的情况如下:
minLatitude = (minLatitude > partnerLatitude) ? partnerLatitude : minLatitude;
和每个:
for(BrunnerPartner partner: query) { partnerAL.add(partner); }
这些对性能有害吗?
如果在缩放跨度较小时隐藏一些叠加层会对我有帮助吗?我怎么能这样做?