Я нашел этот код в старой унаследованной системе и не хочу его трогать, если в этом нет ничего плохого.
Но я чувствую, что у этого кода есть какой-то недостаток, и я не могу найтиЭто.Это просто не обычный шаблон или есть какие-то скрытые ловушки или утечки памяти?
private static final Foo action = new Foo() {
@Override
public void onAction(MyDialogFragment fragment) {
if (fragment.getContext() != null) {
fragment.getActivity().finish();
}
}
};
Этот код используется во фрагменте
ОБНОВЛЕНИЕ: Я подозреваю, что объект анонимного внутреннего класса имеетссылка на родительский фрагмент, и поскольку объект этого класса сохранен в статическом поле, он никогда не будет собран, поэтому родительский фрагмент также никогда не будет собран.Мои рассуждения неверны?