美文网首页
安卓中的ANR

安卓中的ANR

作者: yangchendev | 来源:发表于2018-02-19 15:46 被阅读0次

什么是ANR?

ANR即应用程序未响应(Application Not Responding)

造成ANR的主要原因

应用程序的响应性是由Activity Manager和WindowManager系统服务来监视的,当在Activity和Service中超过5秒还未响应用户,则会弹出ANR对话框,在广播中则是10秒。

1.主线程被IO操作阻塞

2.主线程中存在耗时的计算

如何解决ANR?

1. 使用AsyncTask来处理耗时的操作

2. 使用Thread或者HandlerThread并要提高其优先级

3. 使用Handler来处理工作线程的耗时任务

4. Activity的onCreate和onResume回调中尽量避免耗时的代码

相关文章

网友评论

      本文标题:安卓中的ANR

      本文链接:https://www.haomeiwen.com/subject/gwgitftx.html