У меня есть класс:
public class WaypointOverlay extends ItemizedOverlay<OverlayItem>
Он переопределяет draw()
метод ItemizedOverlay
.
В моей деятельности у меня есть карта с множеством наложенных элементов, а также список,Из вывода traceviewer и logcat я заметил, что MapView.onDraw()
вызывался много раз, даже когда карта остается нетронутой.Это привело к действительно не отвечающему списку и карте (когда мой класс WaypointOverlay
просто возвращается с этих вызовов onDraw
, все работает хорошо)
Как я могу сделать так, чтобы вызовы onDraw
происходили реже -в идеале только когда MapView
меняет диапазон?В onDraw
я попытался проверить, имеет ли MapView
тот же самый интервал широты / долготы, что и в последнем вызове onDraw
, и рисовать только в том случае, если они разные.Это привело к тому, что OverlayItems
появлялся только во время панорамирования или масштабирования карты.
Есть идеи по улучшению производительности?