【发布时间】:2011-11-21 01:36:03
【问题描述】:
一直致力于为 Android 应用开发自定义图块叠加实现。 我在后台处理图像下载时遇到问题。
快速概览: 我有一个扩展 Overlay 的类(MapOverlay)。 draw 方法基本上计算所需的图像(位图)和在屏幕上绘制它们的 x,y 位置。然后我有一个 AsyncTask 循环遍历每个图块,如果存储卡上不存在图像(本地缓存)则下载图像,然后一旦 AsyncTask 完成,我将遍历图像并将它们绘制到传递的画布对象进入 MapOverlay 的 draw 方法。但是位图永远不会被绘制出来。
我已经通过在 AsyncTask 完成时记录画布元素的宽度和高度进行了一些基本调试,但它为它们返回 0,所以我猜测画布对象不再可用于运行的代码在draw方法完成后在AsyncTask的onPostExecute()中
如果没有线程,我可以很好地工作,除了在图像下载阻塞 UI 线程时平移时“冻结”。现在我完全无法让线程工作
【问题讨论】:
-
您能否分享一些示例代码,了解您所做的工作以及如何加载瓷砖。您是否还检查了 zoomIn 和 Zoo out Raj 是否发生同样的事情
标签: android google-maps canvas