UIスレッドに多くのループと論理演算がロードされているときに発生するこの種のエラーに関する提案はありますか?
1510 次
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 に答える