什么是Handler
Handler通过发送和处理Message和Runnable对象来关联相对应线程的MessageQueue。
1. 可以让对应的Message和Runnable在未来的某个时间点进行相应处理
2. 让自己想要处理的耗时操作放在子线程,让更新ui的操作放在主线程
Handler的使用方法
- post(runnable)
- sendMessage(message)
Handler的机制原理
Handler内存泄漏以及解决办法
- 原因:静态内部类持有外部类的匿名易用,导致外部activity无法释放
- 解决办法:Handler内部持有外部activity的弱引用,并把Handler改为静态内部类,mHandler.removeCallback()。