当UI线程加载了大量循环和逻辑操作时,会出现这种错误的建议吗?
答案 0 :(得分:2)
通过File explorer中的data / anr / trace.txt获取错误消息。并且,还将所有逻辑操作和循环放入单独的线程中。
答案 1 :(得分:0)
当您在UI线程上进行密集工作并且不允许用户界面刷新时,会发生ANR错误。您的描述完全符合此案例。
要修复它,请在不同的线程上运行这些操作。如果在您的情况下这很方便,您也可以使用AsyncTask。见http://developer.android.com/reference/android/os/AsyncTask.html
答案 2 :(得分: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();