我的代码从服务器中提取JSON。 JSON具有图像URL。我解析JSON并将JSON中URL的图像下载到Bitmap Hashtable中以停止同一图像的多次下载。当我在UI线程上运行此应用程序时,应用程序会变慢但工作正常。在将其移动到AsyncTask时,应用程序崩溃并出现致命错误:java.lang.RuntimeException:执行doInBackground时发生错误()
可能出现什么问题?
以下是异步代码http://pastebin.com/isDgENkJ
答案 0 :(得分:1)
将您的class
声明更改为:
public class GetMapsAsync extends AsyncTask<Void,Void, CustomItemizedOverlay>{
您的doInBackgournd()
方法应如下所示:
protected CustomItemizedOverlay doInBackground(Void... v){
在doInBackgournd()
内删除此行:
mapOverlays.add(itemizedOverlay);
并将此行代替return null;
放在doInBackgournd()
内的结尾处:
return itemizedOverlay;
您的onPostExecute()
方法应如下所示:
@Override
protected void onPostExecute(CustomItemizedOverlay overlay) {
mapOverlays.add(overlay);
}
如果你仍然看到任何Exception
,那么也发布你的logcat。