Android Handler.removeCallbacksAndMessages(null)的作用

来源:互联网 发布:杭州比较好的美工培训 编辑:程序博客网 时间:2024/05/21 10:14

今天看到一段代码,在onDestroy()方法中,使用了下面的代码:

   @Override    protected void onDestroy() {        if (handler != null && handler.getLooper() == Looper.getMainLooper()){              handler.removeCallbacksAndMessages(null);           }        super.onDestroy();    }

察看官方文档有以下说明:
http://developer.android.com/reference/android/os/Handler.html#removeCallbacksAndMessages%28java.lang.Object%29

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.

意思是说,如果参数为null的话,会将所有的Callbacks和Messages全部清除掉。

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

1 0
原创粉丝点击