在我的应用程序中,可以在地图上添加多个标记,这些标记保存在arraylist中。每当用户向地图添加新标记时,有时会在很短的时间后将其从地图中删除。其他一些时候标记保持不变。
它的主旨是removeIcons()仍然忙碌并在drawIcons()之后完成
removeIcons();
//Redraw icons
drawIcons();
删除图标只是:
private void removeIcons() {
for (Marker iconMarker : iconMarkers) {
iconMarker.remove();
}
}
问题:在调用drawIcons之前如何确保removeIcons完成?
答案 0 :(得分:0)
简单。
不要删除所有图标,然后重新添加所有图标,只需添加/删除1个图标。
效率极低。
跟踪列表,添加一个标记,绘制并完成。
它正在发生,因为谷歌地图视图处理另一个线程上的绘图,该线程可以在您的代码运行时运行。你无能为力地制止这种行为。