大家应该都知道,在android中子线程是无法进行UI操作的,如果想要使得主线程能够操作UI元素,我们应该怎么做呢?针对于这个我简单的讲解一下android中消息队列机制。


消息队列机制(如上图所示)
*主线程创建时,系统会同时创建消息队列对象(MessageQueue)和消息轮询器对象(Looper)
* 轮询器的作用,就是不停的检测消息队列中是否有消息(Message)
* 消息队列一旦有消息,轮询器会把消息对象传给消息处理器(Handler),处理器会调用handleMessage方法来处理这条消息,handleMessage方法运行在主线程中,所以可以刷新ui
* 总结:只要消息队列有消息,handleMessage方法就会调用
* 子线程如果需要刷新ui,只需要往消息队列中发一条消息,触发handleMessage方法即可
* 子线程使用处理器对象的sendMessage方法发送消息

希望以上的讲解,能帮到大家!

更多相关文章

  1. Android(安卓)开发你需要了解的那些事
  2. Splash Screen开场屏在Android中的实现
  3. Android面试题整理(selfmade)——坚持每天回答一个
  4. Android的性能监控工具StrictMode
  5. 踏破铁鞋无觅处,从 AsyncTask 学 Android(安卓)线程池
  6. MingQQ Android版发布了,可以在Android手机上登录你的QQ,收发消息
  7. Android(安卓)Looper And Hander 机制剖析 - 02
  8. Android之四 广播机制实现
  9. Android(安卓)studio获取服务器端json数据并解析

随机推荐

  1. 12.8 SeekBar和RatingBar
  2. android竖排TextView(字是横向的)
  3. Android(安卓)RecyclerView实现在线选座
  4. ERROR: Unsupported method: AndroidProj
  5. android development: Usb driver for Ne
  6. Android转盘抽奖的简单实现
  7. Hack Android(安卓)SD Card support
  8. 以太网MAC地址获得 android
  9. netty参考 android手机客户端
  10. 选择型控件