android谷歌地图populate()VS无效()

时间:2012-09-10 15:28:00

标签: android google-maps

我正在构建我的交互式地图,我发现自己真的很困惑:

我有一个ItemizedOverlay类的扩展,我正在管理叠加层。

当我使用它的populate()函数来更新mapView中的叠加层时,我应该何时使用invalidate()或postInvalidate()以使地图更新。

我发现有时这种方法有效,有时候另一方则有用。

如果有人能够准确地解释每个功能的确切含义 - 我将非常感谢,因为我找不到合适的解释。

2 个答案:

答案 0 :(得分:3)

当您想要填充叠加层时,应使用

populate()。如果你要做的就是重绘它,那么你应该使用invalidate(),如果你在UI线程上,如果你在另一个线程上则使用postInvalidate()。 invalidate方法适用于任何View,无论是按钮,文本视图还是其他任何视图。他们基本上告诉Android一些与View相关的变化,比如显示的数据或按钮的状态或颜色等等。然后,Android会尝试通过调用View的onDraw()方法尽快重绘View。

答案 1 :(得分:0)

我总是使用invalidate()并且从来没有遇到过问题......(即总是刷新)