В чем разница между FragmentPagerAdapter
с ViewPager с OffScreenLimit, установленным на 1, и FragmentStatePagerAdapter
?
О FragmentPagerAdapter
в руководстве Google говорится:
Эта версия пейджера лучше всего подходит для использования, когда есть несколько обычно более статических фрагментов, которые нужно просмотреть, например, набор вкладок. Фрагмент каждой страницы, которую посещает пользователь, будет храниться в памяти, хотя его иерархия представления может быть разрушена, если она не видна. Это может привести к использованию значительного объема памяти, поскольку экземпляры фрагментов могут удерживать произвольное количество состояний. Для больших наборов страниц рассмотрите вариант FragmentStatePagerAdapter.
И по поводу FragmentStatePagerAdapter
:
Эта версия пейджера более полезна, когда имеется большое количество страниц, работая больше как представление списка. Когда страницы не видны пользователю, весь их фрагмент может быть уничтожен, сохранив только сохраненное состояние этого фрагмента. Это позволяет пейджеру удерживать гораздо меньше памяти, связанной с каждой посещенной страницей, по сравнению с FragmentPagerAdapter за счет потенциально больших накладных расходов при переключении между страницами.
Я думаю, что если я установлю offscreenlimit на 1, он уничтожит все фрагменты за пределами двух следующих за текущим фрагментом, и он будет вести себя аналогично FragmentStatePagerAdapter. Это правильно?