缓存是什么在Android上的MapView上绘制

时间:2011-04-15 14:07:00

标签: android overlay android-mapview draw lag

我正在为我的大学校园开发一个应用程序,用于在MapView中显示校园;然后使用geopoints在mapView上绘制校园大楼的轮廓,使用draw方法扩展Overlay的类。大约有50-60座建筑被绘制,导致地图非常滞后,因为绘制方法不断被反复绘制。

我已经调查了我的问题,并且我发现有些人提到在画布上绘制建筑物,但我没有找到关于如何实现这个的好例子或信息。谁能指出我如何减少地图滞后的正确方向?地图看起来非常好,但滞后只会破坏它的实用性。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果将所有点组织成多边形,则可以在画布上绘制多边形,然后在叠加上绘制多边形。我认为会更快。

此外,您可以随时进行一些计算,了解建筑物的哪个部分需要重新绘制以用于下一个位置,并且只需更改“画布”的该部分。

如果您从先前位置移动(X,Y)像素,请将现有画布移动到新位置,然后只绘制出现在地图上的新内容。

当然,这不是最佳解决方案,因为这种缓存不适用于缩放。

希望它有所帮助! JQCorreia