Jaka jest różnica między FragmentPagerAdapter
i FragmentStatePagerAdapter
?
O FragmentPagerAdapter
przewodniku Google mówi:
Ta wersja pagera jest najlepsza do użycia, gdy istnieje garść zwykle bardziej statycznych fragmentów, które należy przełożyć, takich jak zestaw zakładek. Fragment każdej strony odwiedzanej przez użytkownika będzie przechowywany w pamięci, chociaż jej hierarchia widoków może zostać zniszczona, gdy nie będzie widoczna. Może to spowodować użycie znacznej ilości pamięci, ponieważ instancje fragmentów mogą utrzymać dowolną liczbę stanów. W przypadku większych zestawów stron należy rozważyć
FragmentStatePagerAdapter
.
Oraz o FragmentStatePagerAdapter
:
Ta wersja pagera jest bardziej przydatna, gdy istnieje duża liczba stron, które działają bardziej jak widok listy. Gdy strony nie są widoczne dla użytkownika, cały ich fragment może zostać zniszczony, zachowując jedynie zapisany stan tego fragmentu. Dzięki temu pager może zatrzymać znacznie mniej pamięci związanej z każdą odwiedzaną stroną w porównaniu
FragmentPagerAdapter
z kosztem potencjalnie większego obciążenia przy przełączaniu między stronami.
Mam więc tylko 3 fragmenty. Ale wszystkie z nich są osobnymi modułami z dużą ilością danych.
Fragment1
obsługuje niektóre dane (które wprowadzają użytkownicy) i przekazuje je poprzez aktywność do Fragment2
, co jest po prostu proste ListFragment
. Fragment3
jest również ListFragment
.
Więc moje pytania brzmią : Którego adaptera powinienem użyć? FragmentPagerAdapter
czy FragmentStatePagerAdapter
?
FragmentPagerAdapter
i FragmentStatePagerAdapter
co jest FragmentStateAdapter
?