今天,简单讲讲android如何使用 

handler.removeCallbacksAndMessages(null)。


这个其实很简单,之前我也写了一篇博客将关于handler.removeMessages(int what)的使用,那个是删除handler的特定的消息,而如果需要删除handler所有的消息和回调函数呢?那就需要使用handler.removeCallbacksAndMessages(null)。


查api:

public final void removeCallbacksAndMessages (Object token)

Added in  API level 1

Remove any pending posts of callbacks and sent messages whose obj is token. If token is null, all callbacks and messages will be removed.

这是google文档解释,英语不好的请用有道翻译,

删除任何悬而未决的帖子回调函数和发送消息的obj令牌。如果令牌是空的,所有的回调函数和消息将被删除

当然这个翻译不太准确,意思就是说当参数为null时,删除所有回调函数和message

这样做的好处是在Acticity退出的时候,可以避免内存泄露


简单讲讲,就是在Acticity退出时最好调用handler.removeCallbacksAndMessages(null),移除handler的所有消息,避免内存泄漏。记住调用handler.removeCallbacksAndMessages(null)只会移除当前handler的所有消息,如何存在多个handler,需要每一个handler都调用一次。


android  handler.removeCallbacksAndMessages(null)的使用就讲完了。


就这么简单。

更多相关文章

  1. UML详解:解析Android消息处理机制:Handler/Thread/Looper & Messag
  2. Android仿QQ消息列表ListView滑动删除效果
  3. Android EventBus 传递消息
  4. [Android] 监听系统网络连接打开或者关闭的消息
  5. android屏幕监听,手机是否处于锁屏状态,在锁屏之上弹出Toast.makeT
  6. 【Android】Android消息处理机制
  7. Android主线程消息循环
  8. Android消息通知-Notification

随机推荐

  1. 常见的监控软件及特点
  2. Linux运维小细节之回收站(二)
  3. Linux运维小细节之回收站(一)
  4. A小学校课程表和登录表单
  5. 表单设计学习
  6. 3.18作业
  7. 如何使用 Markdown and Emmet
  8. 项目练习总结
  9. 从阿里云故障说 Io hang 是什么?
  10. JavaMySQL面试题,如何书写 update 避免表