我正在Android应用中使用Google maps API,并在实例化时启动一个线程来下载一些后来成为自定义ItemizedOverlay中的OverlayItem对象的图像。
下载完成后,会通过处理程序通知UI,并删除当前的叠加层(如果有),创建一个包含下载图像的新叠加层,将其添加到地图视图中,然后调用地图view的invalidate()方法。这导致调用自定义叠加的覆盖绘制(canvas,mapview,shadow)方法,并循环遍历叠加中的项目列表,并通过canvas.drawBitmap(位图,左,顶部,绘制)绘制每个项目。
所有这一切都运行正常,但尽管事实上我没有触摸屏幕而且我的代码没有完成其他的invalidate()调用,自定义覆盖的draw()方法会一次又一次地被调用。
视觉上这没有效果,但显然是不受欢迎的。有没有人知道什么可能导致连续调用draw()方法?