Android Handle中Looper.loop()的死循环为什么在主线程中不会产生卡死现象

我们在看到这个标题的时候,感觉有点迷惑,确实如题,为啥呢?

1. 主线程,负责一些UI更新操作,归类为一个线程,线程在Android中是有生命周期的,任务最终是会结束的。
2. Looper.loop()的死循环正是维护了主线程的超长生命周期,loop方法一直循环处理任务,没有任务的时候会休眠,有任务的时候会唤醒然后进行处理,所以也不会占用太多系统资源。
3. 卡死,可能有误解,循环的过程中本生不会出现ANR,在循环的过程中,如果执行了耗时且在规定时间内没有完成消息派发,才会出现ANR。

你可能感兴趣的:(Android Handle中Looper.loop()的死循环为什么在主线程中不会产生卡死现象)