分享

Android中Handler的机制

 lifei_szdz 2012-12-27
Android中Handler的机制
2012-11-15 10:51:16     我来说两句      
收藏    我要投稿

1.Handler:可以看做是一个工具类,用来向消息队列中插入消息的;

2.Thread:所有与Handler相关的功能都是与Thread密不可分的,Handler会与创建时所在的线程绑定;

3.Message:消息;

4.MessageQueue:消息队列,对消息进行管理,实现了一个Message链表;

5.Looper:消息循环,从MessageQueue中取出Message进行处理;

6.HandlerThread:继承Thread,实例化时自动创建Looper对象,实现一个消息循环线程.

 

 

2.线程中消息处理的流程图
 \

消息插入队列的位置由参数uptimeMillis来确定。

 

 

3.Handler与线程的关系
 

\
1.HandlerThread就是一个封装了Looper的Thread.

2.Handler会与实例化时所在的线程绑定.

4.UI线程与子线程通信相关
 

\
1.需要更新UI,则需要使用与主线程绑定的Handler发送消息,若使用在子线程中创建的Handler则会抛出异常;

2.子线程中实例化Handler对象首先需要调用Looper.prepare(),否则会抛出异常;

3.调用Looper.loop()方法消息循环才会启动;

5.存在的问题
在onCreate(),onStart(),onResume()中通过子线程来修改UI不会抛出异常 。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多