我有一堂课:
public class WaypointOverlay extends ItemizedOverlay<OverlayItem>
它覆盖draw()
了ItemizedOverlay
.
在我的活动中,我有一个包含许多叠加项目的地图以及一个列表。我从 traceviewer 输出和 logcat 中注意到,MapView.onDraw()
即使地图没有被触及,它也会被多次调用。这导致了一个非常无响应的列表和地图(当我的WaypointOverlay
班级只是从这些onDraw
调用中返回时,一切都运行良好)
我怎样才能让onDraw
电话发生的频率降低 - 理想情况下只有当MapView
更改跨越时?我尝试在onDraw
中检查MapView
lat/lon 跨度是否与上次onDraw
调用时相同,并且仅在两者不同时才绘制。这导致OverlayItems
仅在地图平移或缩放时出现。
关于提高性能的任何想法?