简介:handler消息处理者,用来发生和处理消息,用于解决线程安全问题;
线程安全问题:多线程导致线程安全问题,多个线程都会操作,所以android规定只能在主线程更新UI组件;
![](https://img.haomeiwen.com/i2354038/29dc06fe585e869f.png)
Handler:消息处理者,用于发送与处理消息对象,依赖Looper对象;
Message:Handler接受与处理的消息对象;
MessageQueue:消息队列,先进先出管理message;
Looper:为一个线程开启消息循环,管理MessageQueue,取Message分发给Handler;
特性:1.一个线程中只能有一个Looper和MessageQueue,可以有多个Handler,并共享同一Looper和MessageQueue;
2.初始化一个Looper对象会创建一个与之关联的MessageQueue;
3.UI线程默认会创建Looper对象,开启消息循环;
简单使用
![](https://img.haomeiwen.com/i2354038/05ecdc79f371f492.png)
Handler Leak警告的解决
![](https://img.haomeiwen.com/i2354038/b7cfdbaebce98487.png)
网友评论