2019-05-20 ANR

2019-05-22  本文已影响0人  安梦_4de8

什么是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回调种尽量避免耗时的代码

上一篇 下一篇

猜你喜欢

热点阅读