Я использую фрагменты в своем приложении, и у меня есть сомнения в том, что каждый раз добавляя и удаляя фрагмент, есть ли сборщик фрагментов, когда вы его удаляете?Фрагменты Сбор мусора
Вот мой код:
в OnCreate()
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(detailFragmentID, new MyDetailFragment());
fragmentTransaction.add(fragmentID, new MyListFragmentt());
fragmentTransaction.commit();
в onRestart()
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
Fragment previousFragment = getSupportFragmentManager().findFragmentById(detailFragmentID);
if (previousFragment != null) {
fragmentTransaction.remove(previousFragment);
}
fragmentTransaction.add(detailFragmentID, new MyDetailFragment());
fragmentTransaction.commitAllowingStateLoss();
Вот когда я иду к какой-либо деятельности и вернуться onRestart будет называться.
путем добавления и удаления фрагментов каждый раз, есть ли фрагмент мусора здесь?
[отформатированный код правильно]
Это последнее утверждение не совсем верно, не так ли? Как только onDestroy() вызывается, но «это» фрагмента остается ссылкой где-то Фрагмент не будет GC'd. источник: http://blog.nimbledroid.com/2016/05/23/memory-leaks.html – Voy
@Voy вы абсолютно правы. Я уточню свой ответ. – tir38