0

UIスレッドに多くのループと論理演算がロードされているときに発生するこの種のエラーに関する提案はありますか?

4

3 に答える 3

2

ファイルエクスプローラーからdata/anr/trace.txtを介してエラーメッセージを取得します。また、すべての論理演算とループを別々のスレッドに配置します。

于 2012-04-17T14:12:52.840 に答える
0

このANRエラーは、UIスレッドで集中的な作業を行っていて、ユーザーインターフェイスを更新できない場合に発生します。あなたの説明はこの場合に完全に一致します。

これを修正するには、これらの操作を別のスレッドで実行します。状況に応じて、AsyncTaskを使用することもできます。http://developer.android.com/reference/android/os/AsyncTask.htmlを参照してください

于 2012-04-17T14:11:59.987 に答える
0
private class LongWork extends AsyncTask<Void, Integer, Void>

{{

@Override
protected Void doInBackground(Void... arg0) {

  //Do a long Task here
    return null;
}

@Override
protected void onPostExecute(Void result) {

//UIスレッドで行う必要があることを実行します

}

}

それで

LongWork work=new LongWork();
work.execute(); 
于 2012-04-17T14:19:31.307 に答える