什么是ANR?
Application Not Responding
在主线程做耗时操作造成ANR,做耗时的计算
下载 IO流的读取
Activity的所有生命周期回调都是执行在主线程的
Service默认是执行在主线程的
BroadcastReceiveiver的onReceive回调是执行在主线程的
没有使用子线程的looper的Handler的hangleMessage,post(Runnable)是执行在主线程的
AsyncTask的回调中除了dolnBackground,其他都是执行在主线程的
如何解决anr?
使用Asyncatask处理耗时IO操作
使用Thread或者HandlerThread提高优先级
使用Handler来处理工作线程的耗时任务
Activity的onCreate的onResume回调种尽量避免耗时的代码
网友评论