ActivityThread绑定looper思考
来源:互联网 发布:禁用独立显卡 linux 编辑:程序博客网 时间:2024/06/08 06:48
一、ActivityThread绑定looper
在ActivityThread中Looper.prepareMainLooper();将主线程初始化为一个Looper主线程。这时候我们的主线程就成了一个就是循环
工作的主线程。
二、作用与意义:
在程序开发中,我们经常会需要一个线程不断循环,一旦有新任务则执行,执行完就继续等待下一个任务,这就是我们looper线程作
用。
三、根据查阅源码得出个人小结:
Looper中有个prepare(boolean b)的方法,传参true表示初始化一个可以被可以调用Looper.quit()在quit()里面传一个参数true,
调用MessageQueue消息队列类中通过对象调用quit(boolean safe)方法,执行removeAllFutureMessagesLocked();方法和
nativeWake(mPtr);结束looper死循环。
相反,Activity的主线程初始化looper时调prepare(boolean b)传了一个false进去,根据以上逻辑是,不能结束looper死循环的,如
果尝试结束,他会抛一个异常"Main thread not allowed to quit." 即主线程无法退出quit循环,
五、资料查阅视图跟踪
0 0
- ActivityThread绑定looper思考
- Handler、Looper、MessageQueue、Message、HandlerThread以及ActivityThread
- ActivityThread
- ActivityThread
- Looper、Handler、MessageQueue在ActivityThread中的源码剖析(原创)
- <深入理解Android内核设计思想>读书笔记:Looper,Handler,Runnable,MessageQueue,ActivityThread
- 对“绑定”的思考
- ActivityThread分析
- ActivityThread分析
- 了解ActivityThread
- ActivityThread笔记
- 关于ActivityThread
- ActivityThread解析
- ActivityThread.java
- ActivityThread类
- ActivityThread / ApplicationThread
- Handler和Looper是怎样绑定到一起的?
- Looper
- 线性表——表
- VS2012快捷键大全
- Python 机器学习——解决过拟合的方法
- servlet远程文件上传
- 转雅虎web前端网站优化 34条军规
- ActivityThread绑定looper思考
- java常用类库之日期操作类
- android破解和重新打包
- AMD发布LiquidVR SDK 1.0 提供即插即用的虚拟现实体验--看看最新的虚拟现实
- 1033. 旧键盘打字(20)
- 欢迎使用CSDN-markdown编辑器
- 基于easyui开发Web版Activiti流程定制器详解(六)——Draw2d的扩展(一)
- android事件传递总结
- 信息学奥林匹克竞赛-统计单词数