Handler面试详解

2017-12-02  本文已影响0人  xiaolong20

一.什么是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()

上一篇 下一篇

猜你喜欢

热点阅读