在MapView.invalidate()调用之后连续调用OverlayItem.draw()方法

时间:2012-01-11 18:06:03

标签: google-maps-mobile

我正在Android应用中使用Google maps API,并在实例化时启动一个线程来下载一些后来成为自定义ItemizedOverlay中的OverlayItem对象的图像。

下载完成后,会通过处理程序通知UI,并删除当前的叠加层(如果有),创建一个包含下载图像的新叠加层,将其添加到地图视图中,然后调用地图view的invalidate()方法。这导致调用自定义叠加的覆盖绘制(canvas,mapview,shadow)方法,并循环遍历叠加中的项目列表,并通过canvas.drawBitmap(位图,左,顶部,绘制)绘制每个项目。

所有这一切都运行正常,但尽管事实上我没有触摸屏幕而且我的代码没有完成其他的invalidate()调用,自定义覆盖的draw()方法会一次又一次地被调用。

视觉上这没有效果,但显然是不受欢迎的。有没有人知道什么可能导致连续调用draw()方法?

0 个答案:

没有答案