一.什么是handler

handler通过发送和处理Message和Runnable对象来关联相应线程的MessageQueue.
1.可以让对应的Message和Runnable在未来的某个时间点进行相应处理
2.让自己想要处理的耗时操作放在子线程,让更新ui的操作放在主线程。
二.handler的使用方法
1.post(runnable)
2.sendMessage(message)
三.handler机制的原理


四.handler引起的内存泄漏以及解决办法
原因:静态内部类持有外部类的匿名引用,导致外部activity无法释放
解决办法:handler内部持有外部acitivity的弱引用,并把handler改为静态内部类mHandler.removeCallBack()
网友评论