使用200多个标记增强mapview的性能

时间:2012-10-30 05:11:21

标签: android performance google-maps android-mapview

我在地图上有3种类型的叠加层。 1)有一种具有简单标记的覆盖层。然后点击叠加我弹出显示。 2)其他类型的叠加包含画布绘图。和这些叠加的onTouch事件我们必须显示第三种叠加,其中包含地图上的位图绘制。并且还有第三种叠加的点击事件。

因此,由于计算量大和画布绘制很多,mapview的性能会降低。

我已经通过https://github.com/staroud-android/OverlayManager的Overlaymanager libreary。但它没有帮助我。

有什么方法可以满足我的高性能要求吗?

我还需要建议Polaris地图库能帮助我提高性能吗? https://github.com/cyrilmottier/Polaris

1 个答案:

答案 0 :(得分:1)

正在发生的事情是,每次添加MapView时,您都会填充GeoPoint。尝试将其添加到您的代码中:

在您通过GeoPoints圈出此代码后

itemizedOverlay.populateNow();

并将itemizedOverlay更改为:

public void addOverlay(OverlayItem overlay) {
    m_overlays.add(overlay);
        }
public void populateNow()
{
    populate(); 
}

@Override
protected OverlayItem createItem(int i) {
    return m_overlays.get(i);
}

@Override
public int size() {
    return m_overlays.size();
}