Kiedy używam GlobalLayoutListener
, aby zobaczyć, czy SoftKeyboard jest otwarty, czy nie, fragment nie jest już zbuforowany po zniszczeniu.view.getViewTreeObserver(). AddOnGlobalLayoutListener wycieki Fragment
Co robię:
- usunąć Listener w
onDestroy()
mojego Fragment - ustawić słuchacza
null
wonDestroy()
- ustawić na stanowisku, że jest obserwowany na null w
onDestroy()
Nadal wycieka fragment.
Czy ktoś miał podobny problem i zna poprawkę?
My 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();
}
Czy mógłbyś pokazać swoją metodę 'onDestroy'? –
@marcel, wysłałem możliwe rozwiązanie dla ciebie. –