Android ANR

  • ANR 定义
    Application Not Responding。在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应,事件没有机会处理 & 事件处理超时都会引发ANR

    • Activity:5s没处理完
    • BroadcastReceiver:10s内没执行完毕
    • Service:20s没处理完
  • 避免方法:

    • Activity 应该在它的关键生命周期方法(如onCreate()和onResume())里尽可能少的去做创建操作
    • 耗时操作应该在子线程里(或者异步方式)来完成。主线程应该为子线程提供一个Handler,以便完成时能够提交给主线程

你可能感兴趣的:(Android ANR)