Разделитель FragmentPagerAdapter и PagerAdapter

Я прочитал документацию для android pageadapter и fragpageadapter, и я не видел никакой разницы. Я имею в виду, что один – это фрагмент, а другой – не … это все? У меня не очень много опыта с фрагментами, поэтому, возможно, поэтому я не замечаю никакой разницы. Так в чем разница, если я использую FragmentPagerAdapter или PagerAdapter?

Solutions Collecting From Web of "Разделитель FragmentPagerAdapter и PagerAdapter"

Разница в том, что вы можете использовать фрагменты внутри FragmentPageAdapter. Если вы хотите иметь фрагменты, которые будут использоваться в других частях вашего кода, это ваш адаптер. В противном случае, если вы хотите только иметь код, который не будет использоваться повторно, вы можете использовать PagerAdapter.

Реализация PagerAdapter, который использует фрагмент для управления каждой страницей. Но я настоятельно рекомендую использовать класс FragmentStatePagerAdapter, который также поддерживает сохранение и восстановление состояния фрагмента.

Версия FragmentStatePagerAdapter пейджера более полезна, когда имеется большое количество страниц, более похожее на просмотр списка. Когда страницы не видны пользователю, весь их фрагмент может быть уничтожен, сохраняя сохраненное состояние этого фрагмента. Это позволяет пейджеру удерживать гораздо меньшую память, связанную с каждой посещенной страницей, по сравнению с FragmentPagerAdapter за счет потенциально большего количества накладных расходов при переключении между страницами.

При использовании FragmentPagerAdapter хост ViewPager должен иметь действительный набор идентификаторов.

Подклассам нужно только реализовать getItem (int) и getCount (), чтобы иметь рабочий адаптер.

Ниже приведен пример реализации пейджера FragmentStatePagerAdapter, содержащего фрагменты списков