android handler.removeCallbacksAndMessages(null)的使用
16lz
2022-04-07
今天,简单讲讲android如何使用
handler.removeCallbacksAndMessages(null)。
这个其实很简单,之前我也写了一篇博客将关于handler.removeMessages(int what)的使用,那个是删除handler的特定的消息,而如果需要删除handler所有的消息和回调函数呢?那就需要使用handler.removeCallbacksAndMessages(null)。
查api:
public final void removeCallbacksAndMessages (Object token)
Added in API level 1Remove 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)的使用就讲完了。
就这么简单。
更多相关文章
- Android之Broadcast, BroadcastReceiver(广播)
- android通话记录的查询与删除
- android通过USB的MTP模式下,禁止用户在根目录有任何操作(重命名 删
- Android(安卓)GridView的使用方法
- ScrollView拉到尽头时出现阴影的解决方法
- android通过webservice验证用户
- UML详解:解析Android消息处理机制:Handler/Thread/Looper & Messag
- Android(安卓)Camera调用流程
- 箭头函数的基础使用