我在地图上有3种类型的叠加层。 1)有一种具有简单标记的覆盖层。然后点击叠加我弹出显示。 2)其他类型的叠加包含画布绘图。和这些叠加的onTouch事件我们必须显示第三种叠加,其中包含地图上的位图绘制。并且还有第三种叠加的点击事件。
因此,由于计算量大和画布绘制很多,mapview的性能会降低。
我已经通过https://github.com/staroud-android/OverlayManager的Overlaymanager libreary。但它没有帮助我。
有什么方法可以满足我的高性能要求吗?
我还需要建议Polaris地图库能帮助我提高性能吗? https://github.com/cyrilmottier/Polaris
答案 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();
}