Android中默认情况下只有主线程可以进行更新UI的操作,因为维护UI或者更新的操作本身是线程不安全的,如果多线程操作UI会出现很多异常。
可以添加同步锁来解决线程不安全问题可Android为什么不采用呢?
① 同步的效率比较低
② 如果自己都维护同步很复杂,同步会阻塞其它操作
Android中就直接采用了单线程模型来解决UI更新问题,想更新UI的线程将更新的数据传递给主线程,主线程进行UI更新,Android中设计了Handler进行线程间的通信。
Handler:
用来解决Android线程间通信而存在,在实际的开发中常用来作为一种用来更新UI的机制进行使用
Handler的核心 ① Message 消息,数据的一个载体 ② MessageQueue 消息队列,消息在队列进行排队,循环 ③ Looper 消息泵,可以使MessageQueue中的消息进行一个循环并从中取出消息 ④ Handler 消息的发送及处理者
转载请注明原文地址: https://ju.6miu.com/read-1211.html