Android中Handler面试知识点

来源:互联网 发布:浙江师范行知学院论坛 编辑:程序博客网 时间:2024/05/23 20:04

什么是Handler

Handler通过发送和处理Message和Runnable对象来关联相对应线程的MessageQueue。
1. 可以让对应的Message和Runnable在未来的某个时间点进行相应处理
2. 让自己想要处理的耗时操作放在子线程,让更新ui的操作放在主线程

Handler的使用方法

  1. post(runnable)
  2. sendMessage(message)

Handler的机制原理

Handler内存泄漏以及解决办法

  • 原因:静态内部类持有外部类的匿名易用,导致外部activity无法释放
  • 解决办法:Handler内部持有外部activity的弱引用,并把Handler改为静态内部类,mHandler.removeCallback()。