android handler的理解
16lz
2021-01-23
android在Activity启动的时候,首页启动一个UI线程,该UI线程管理界面的控件以及分发一些事件,如button的事件。而一些耗时的操作,如网络数据获取,这一般处理方法是开启另外一个子线程去操作网络数据的获取,然更新界面只会在主线程中操作,要解决子线程将数据获取让主线程更新的问题,于是handler就出现了,handler与looper结合解决了线程间的通信问题。
Looper:一个线程可以产生一个Looper对象,他用来管理线程的消息队列(Message queue);
主线程里都维护了一个消息对列(message queue),子线程通过Message实例设置消息内容,通过主线程里的Handler实例把消息发送到消息队列(message queue),在主线程里还有一个轮循器(looper)在检查消息对列里有没有新的消息,一旦发现有新的消息,looper就会交给Handler对象处理,Handler则调用自己的回调函数HandlerMessage来更新UI或者其它操作。
更多相关文章
- Android异步消息处理之Thread+Handler
- Android线程与异步消息处理机制
- android的消息处理机制(Looper,Handler,Message)
- android ui线程和数据的分离
- Android的消息机制分析
- android中实现消息推送