android消息队列机制(Handler)
16lz
2021-01-25
大家应该都知道,在android中子线程是无法进行UI操作的,如果想要使得主线程能够操作UI元素,我们应该怎么做呢?针对于这个我简单的讲解一下android中消息队列机制。
消息队列机制(如上图所示)
*主线程创建时,系统会同时创建消息队列对象(MessageQueue)和消息轮询器对象(Looper)
* 轮询器的作用,就是不停的检测消息队列中是否有消息(Message)
* 消息队列一旦有消息,轮询器会把消息对象传给消息处理器(Handler),处理器会调用handleMessage方法来处理这条消息,handleMessage方法运行在主线程中,所以可以刷新ui
* 总结:只要消息队列有消息,handleMessage方法就会调用
* 子线程如果需要刷新ui,只需要往消息队列中发一条消息,触发handleMessage方法即可
* 子线程使用处理器对象的sendMessage方法发送消息
希望以上的讲解,能帮到大家!
更多相关文章
- Android(安卓)开发你需要了解的那些事
- Splash Screen开场屏在Android中的实现
- Android面试题整理(selfmade)——坚持每天回答一个
- Android的性能监控工具StrictMode
- 踏破铁鞋无觅处,从 AsyncTask 学 Android(安卓)线程池
- MingQQ Android版发布了,可以在Android手机上登录你的QQ,收发消息
- Android(安卓)Looper And Hander 机制剖析 - 02
- Android之四 广播机制实现
- Android(安卓)studio获取服务器端json数据并解析