1 概述:
出于性能优化,ui操作线程不安全,所以硬性规定:只有ui线程可以修改activity中的ui组件
2 handler类的简介
作用:在新线程中发送消息,在主线程中接收,处理消息
疑惑:新线程何时发送消息,主线程又怎么接收,处理消息-------回调
解释:
1> 我重写handler中处理消息的方法
2> 新线程发送的消息会发送到与之关联的messagequeen
3> handler会不断从messagequeen中获取并处理消息,从而回调1中的方法
3 handler,messagequeen,looper的工作原理
1> Message,hander接收处理的消息对象
2> Looper,每个线程有只有一个looper,loop方法负责读取MessageQueen中的消息,之后把消息交给发送该消息的handler处理
3> MessageQueen
消息队列
先进先出的方法管理Message
程序创建looper对象时,会在他的构造方法中创建messagequeen对象
4 自我总结:
handler将发送的消息放到messagequeen,messagequeen通过先进先出的方式管理message,
looper通过loop方法读取messagqueen中的消息,将消息传递给发送该消息的handler处理