Как предотвратить утечку фрагментаAndroid

Форум для тех, кто программирует под Android
Anonymous
Как предотвратить утечку фрагмента

Сообщение Anonymous »


У меня есть следующее действие:

класс SwitchFragAct расширяет AppCompatActivity { Фрагмент а; Фрагмент б; onClickSwitchFrags (Просмотр v) { FragmentManager mgr = getSupportFragmentManager(); Фрагмент currentFrag = mgr.findFragmentById(R.id.frag_to_swap); если (currentFrag == а) { mgr.beginTransaction().detach(a).attach(b).commit(); } иначе если (currentFrag == b) { mgr.beginTransaction().detach(b).attach(a).commit(); } } } Таким образом, канарейка утечки будет жаловаться на утечку неприсоединенного фрагмента (например, @ SwitchFragAct#a). Какова моя альтернатива, чтобы убедиться, что он не протекает? Я думаю, мне нужно использовать присоединение/отсоединение, чтобы состояние все еще сохранялось. Я думаю, единственная альтернатива — каждый раз воссоздавать фрагмент. В настоящее время в этом фрагменте нет никаких механизмов для этого, куда я могу перейти в сохраненном состоянии.

Вернуться в «Android»