【问题标题】:Google Maps very slow with Overlays谷歌地图的叠加层非常慢
【发布时间】:2011-12-20 14:32:25
【问题描述】:

我有一个 MapView,我在其中放置了一些 ca。 200 个叠加层,全部带有同一张图片。我使用 Restlet 获取位置数据。但这不应该是问题,因为我获得数据的速度足够快。

问题是,MapView 很慢。性能会随着叠加层的数量而下降,但它不应该,因为在 iPad 上,有一个应用程序可以轻松做到这一点。我的平板电脑的 Ghz 更高。 平板电脑一次又一次地加载地图的某些部分,即使我没有滚动它。

所以我认为我做错了什么。所以我有一些问题:

  1. LogCat 说:GC_CONCURRENT freed 287K, 6% free 7222K/7623K, paused 1ms+2ms 并重复此操作,试图连续获得一些空间。是否有可能这是问题所在,缓存填充太多?

  2. Overlays 的阴影是否会花费很多性能?如何删除它们?

  3. 如何通过按返回按钮删除所有数据?我必须在 onStop()onDestroy() 中插入什么?据我所知,垃圾收集器会自动完成所有这些工作。我还能做什么?移除叠加层?

  4. 我的用例如下:

    minLatitude = (minLatitude > partnerLatitude) ? partnerLatitude : minLatitude;
    

    和每个:

    for(BrunnerPartner partner: query) {     
    partnerAL.add(partner);                     
    }
    

    这些对性能不利吗?

  5. 如果我在缩放跨度较小时隐藏一些叠加层会对我有帮助吗?我该怎么做?

【问题讨论】:

    标签: android garbage-collection maps android-mapview overlays


    【解决方案1】:

    看一下 OverlayItem 示例:http://developer.android.com/resources/tutorials/views/hello-mapview.html

    使用单独的叠加层会导致大量膨胀。

    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多