1

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

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

所有这一切都很好,但是尽管我没有触摸屏幕并且我的代码没有执行其他 invalidate() 调用,但自定义的覆盖层的 draw() 方法会一次又一次地被调用,无休止。

从视觉上看,这没有效果,但显然是不可取的。有谁知道什么可能导致该 draw() 方法的连续调用?

4

0 回答 0