Android中Handler.removeCallbacksAndMessages(null)的作用

Posted 汤米粥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中Handler.removeCallbacksAndMessages(null)的作用相关的知识,希望对你有一定的参考价值。

众所周知,在Android开发中会大量使用到Handler。但是,由于与activity生命周期不一致,当一个Activity被销毁时,如果Handler对象有Message在排队,则无法释放,进而导致Activity对象无法释放,造成内存溢出。

  解决的方法是在Activity被销毁时,在onDestroy()中调用Handler的removeCallbacksAndMessages()方法。此方法调用时会要求传一个Object参数。先看API:

Object token)

API level 1

Remove any pending posts of callbacks and sent messages whose objtoken . Iftoken is null, all callbacks and messages will be removed.。

    意思就是当传入的参数为null时,则移除所有的messages,这样就有效的避免了由Handler引起的内存溢出。

以上是关于Android中Handler.removeCallbacksAndMessages(null)的作用的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 4 中启用 android:largeHeap,在 Android 2.3 中禁用它

Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?

如何在Android中启动JAVA程序

android中怎么设置组件在LinearLayout中居中

(Android) 在内部存储中查找路径 /Android

Android中常见的权限