1. 你真的懂吗?(Android内存泄露之Handler) https://blog.csdn.net/vv_bug/article/details/52765990 (Handler内存泄漏解决方法)
2. Handler异步消息机制 (Handler, Looper, MessageQueue, Message)
Looper不是单例对象(但是Looper.getMainLooper()却是单例)
一个Looper对象仅对应一个MessageQueue (因为Looper类仅有一个成员变量MessageQueue)
一个线程仅对应一个looper对象,一个线程可以有多个handler
Looper.mylooper() 返回一个与当前线程有关的looper对象
Looper.prepare() 让一个普通线程具有消息循环的能力
Looper.loop() 开始消息循环
一个线程可对应多个handler,而每个handler会包含多个Message,handler处理Message不会发生混乱是因为:Message有一个成员变量Handler target,在Handler sendMessage时msg.target = this,使其持有了handler引用