小编mar*_*689的帖子

view.getViewTreeObserver().addOnGlobalLayoutListener泄漏片段

当我使用它GlobalLayoutListener来查看softKeyboard是否被打开时,片段在被销毁后不再是garbageCollected.

我所做的:

  • 我删除了onDestroy()片段中的监听器
  • 我的监听器设置为nullonDestroy()
  • 我将观察到的视图设置为null onDestroy()

仍在泄漏碎片.

有没有人有类似的问题,并知道它的修复?

我的onDestroy:

   @Override
public void onDestroy(){
    Log.d(TAG , "onDestroy");

    if(Build.VERSION.SDK_INT < 16){
        view.getViewTreeObserver().removeGlobalOnLayoutListener(gLayoutListener);
    }else{
        view.getViewTreeObserver().removeOnGlobalLayoutListener(gLayoutListener);
    }

    view = null;
    gLayoutListener = null;



    super.onDestroy();
    }
Run Code Online (Sandbox Code Playgroud)

android memory-leaks android-fragments

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

android-fragments ×1

memory-leaks ×1