Android线程与ANR

本人博客原文

第一部分 Android线程
Android线程模型
Android的每个进程有一个称为“ main ”主线程(也称UI线程)的线程。它除了负责所有事件的分发和处理,还负责4大组件的生命周期函数的调用。
更多内容请参考《 Android线程模型 》和《 Looper和Handler
如何确定当前线程
我们可以通过打印代码的调用层次来确定当前线程。
更多内容请参考《 Android中打印代码的调用层次
Handler技术
Handler用于异步消息的处理。默认情况下Handler与其创建者处于同一线程, 如果Handler里面做耗时的动作,其对应线程自然会阻塞。
更多内容请参考《 关于Handler技术 》和《 Looper和Handler
AsyncTask技术
引入AsyncTask的目的是任务在主线程之外运行,而回调方法是在主线程中执行,以避免了使用Handler带来代码看上去非常臃肿的麻烦.
关于此的详细内容请阅读《 AsyncTask简介
ThreadLocal简介
ThreadLocal的目的就是为每一个使用ThreadLocal的线程都提供一个值,让该值和使用它的线程绑定,当然每一个线程都可以独立地改变它绑定的值。
更多请参考《 ThreadLocal简介
第二部分 什么是ANR
在Android中,系统会监视那些反应不够迅速的应用。如果系统发现某个应用程序反应太慢,它会显示一个叫做Application Not Responding (ANR)的对话框给用户。用户可以选择等待该应用程序让它继续,也可以选择强行结束该应用程序。虽然用户可以选择等待该应用程序让它继续,但是用户其实是非常不喜欢出现该对话框(ANR提示框)
更多的内容请参考《 关于ANR的官方建议
第三部分 对付ANR的N种武器
关于此请参考《 Android中对付ANR的N种武器
结束
<wbr></wbr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值