Android 应用程序:ANR keyDispatchingTimedOut 错误



对于 UI 线程加载大量循环和逻辑操作时发生的此类错误有什么建议吗?

通过文件资源管理器中的data/anr/trace.txt获取错误消息。并且,还将所有逻辑操作和循环放入单独的线程中。

当您在 UI 线程上执行大量工作并且不允许用户界面刷新时,会发生该 ANR 错误。您的描述与这种情况完美匹配。

要修复它,请在其他线程上运行这些操作。您也可以使用 AsyncTask 如果在您的情况下方便的话。见 http://developer.android.com/reference/android/os/AsyncTask.html

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(); 

相关内容

  • 没有找到相关文章

最新更新