2011-12-30 7 views
1

My codeがサーバーからJSONを取得します。 JSONにはImage URLがあります。私はJSONを解析し、同じイメージの複数のダウンロードを停止するために、JSONのURLからBitmapハッシュテーブルにイメージをダウンロードします。私はUIスレッドでこれを実行すると、アプリケーションが遅くなりますが動作します。それをAsyncTaskに移動すると、アプリケーションは致命的な例外でクラッシュします:java.lang.RuntimeException:doInBackground()の実行中にエラーが発生しましたAndroid AsyncTaskが複数のインターネットダウンロードでクラッシュする

何が間違っている可能性がありますか?ここで

http://pastebin.com/isDgENkJ

+2

あなたの 'AsyncTask'コードを見せてください。 –

+1

も、logcatエラーを投稿して明確なアイデアを得ます。 –

答えて

1

がにあなたのclass宣言を変更非同期コードです:

public class GetMapsAsync extends AsyncTask<Void,Void, CustomItemizedOverlay>{ 

などdoInBackgournd()のあなたの方法を見てください。

protected CustomItemizedOverlay doInBackground(Void... v){ 

doInBackgournd()内のこの行を削除します。

mapOverlays.add(itemizedOverlay); 

doInBackgournd()内で最後に代わりreturn null;のこの行を置く:

return itemizedOverlay; 

onPostExecute()のあなたの方法を次のようになります。あなたは、あなたのlogcatを投稿どんなExceptionを参照してくださいまだ場合

@Override 
protected void onPostExecute(CustomItemizedOverlay overlay) { 
    mapOverlays.add(overlay); 
} 

また、

関連する問題