Android: удаление дочерних фрагментов при удалении родительского фрагмента - PullRequest
0 голосов
/ 12 октября 2018

У меня есть Activity с BottomNavigationView и контейнером фрагмента (FrameLayout).Каждая вкладка в нижней части навигации имеет отношение к TabFragment (TabFragment1, TabFragment2 и т. Д.), И каждый TabFragment является родительским фрагментом для вложенных фрагментов.Вложенные фрагменты добавляются в задний стек для восстановления после нажатия кнопки назад (каждый TabFragment имеет свой собственный задний стек).Мой вопрос: я должен вручную удалить вложенный фрагмент в каждом TabFragment, когда фрагменты вкладки заменены в Activity?Разрушается ли вложенный фрагмент при уничтожении родительского фрагмента?Задний стек очищается после уничтожения его фрагмента?Я хочу избежать утечки памяти.Спасибо!

1 Ответ

0 голосов
/ 12 октября 2018

Не уверен насчет этого.Но когда я использую ViewPager, если я заменю ViewPager другим фрагментом, ViewPager будет заменен, но фрагмент в ViewPager не будет удален.Поэтому, когда я заменяю ViewPager, я делаю это.

 for( Fragment f : getSupportFragmentManager().getFragments()){
     if( f.getClass().getSimpleName().equals("Your nested fragment name"))
         transaction.remove(f);
 }
...