Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否需要在活动的onDestory()方法中设置variable=null?_Android - Fatal编程技术网

Android 是否需要在活动的onDestory()方法中设置variable=null?

Android 是否需要在活动的onDestory()方法中设置variable=null?,android,Android,在我公司的android项目10k+用户中,我们在几乎所有活动的onDestory方法中都设置了variable=null。代码如下所示: @Override protected void onDestroy() { LogUtil.i(TAG, "onDestroy"); //mImageView = null; if(pagerAdapter != null){ pagerAdapter.clear(); pagerAdapter =

在我公司的android项目10k+用户中,我们在几乎所有活动的onDestory方法中都设置了variable=null。代码如下所示:

@Override
protected void onDestroy() {
    LogUtil.i(TAG, "onDestroy");
    //mImageView = null;
    if(pagerAdapter != null){
        pagerAdapter.clear();
        pagerAdapter = null;
    }
    if(mediaList != null){
        mediaList.clear();
        mediaList = null;
    }
    viewPager = null;
    clickedMsg = null;
    instance = null;
    msg = null;
    //System.gc();
    super.onDestroy();
}

有必要吗?感谢您回答我的问题~

这不是必需的,当活动被破坏时,它将被GC自动回收。只有在使用位图或IOStream等特殊资源时,才需要特殊的回收过程。

在您的情况下,这是不必要的。并注意到:

在某些情况下,系统会简单地终止活动的 托管进程而不调用此方法或其中的任何其他方法,因此 它不应该被用来做打算留在身边的事情 过程结束后

那么我应该什么时候在onDestroy中取消?
当存在保持活动不被垃圾收集的引用时。例如,一个静态变量在其参数中或通过其方法保存活动。另外,一些单例设计模式使用实现较差的代码来实现这一点,因此请注意这一点,并通过onDestroy发布它。

我不会这样做。似乎没有必要。我唯一能想到的是,有人担心另一个函数也会清除列表。我不知道为什么这是个大问题。