ANR

什么是ANR:
Application Not Responding;
应用程序无响应弹出的对话框;
应用程序的响应是由Activity Manager和Window Manager监视的;
一般activity5秒无响应或者notifcation10秒没反应或者没有响应结束就会弹出ANR;

造成ANR的主要原因:
主线程被阻塞(4.0以后不允许在主线程中执行网络IO操作);
主线程中存在耗时操作;

如何避免ANR:
使用AsyncTask处理耗时操作;
使用Thread和HandlerThread提高优先级;
使用Handler来处理工作线程的耗时操作;
Activity的onCreate和onReseme回调中尽量避免耗时代码;

    原文作者:TYL_CQ
    原文地址: https://www.jianshu.com/p/bdad79303e50
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞