Android 线程之间的通信——Handler

来源:互联网 发布:国际网络交易平台 编辑:程序博客网 时间:2024/06/10 04:05


              Android中默认情况下只有主线程可以进行更新UI的操作,因为维护UI或者更新的操作本身是线程不安全的,如果多线程操作UI会出现很多异常。

              可以添加同步锁来解决线程不安全问题可Android为什么不采用呢?

              ① 同步的效率比较低

              ② 如果自己都维护同步很复杂,同步会阻塞其它操作

             Android中就直接采用了单线程模型来解决UI更新问题,想更新UI的线程将更新的数据传递给主线程,主线程进行UI更新,Android中设计了Handler进行线程间的通信。

           Handler:

                     用来解决Android线程间通信而存在,在实际的开发中常用来作为一种用来更新UI的机制进行使用

          Handler的核心
           ① Message 消息,数据的一个载体
           ② MessageQueue 消息队列,消息在队列进行排队,循环
           ③ Looper 消息泵,可以使MessageQueue中的消息进行一个循环并从中取出消息
           ④ Handler 消息的发送及处理者

0 0
原创粉丝点击