Was ist der Unterschied zwischen FragmentPagerAdapter
und FragmentStatePagerAdapter
?
Über den FragmentPagerAdapter
Google-Leitfaden heißt es:
Diese Version des Pagers eignet sich am besten für den Fall, dass eine Handvoll normalerweise statischerer Fragmente durchlaufen werden müssen, z. B. eine Reihe von Registerkarten. Das Fragment jeder Seite, die der Benutzer besucht, wird gespeichert, obwohl die Ansichtshierarchie möglicherweise zerstört wird, wenn sie nicht sichtbar ist. Dies kann dazu führen, dass eine erhebliche Menge an Speicher verwendet wird, da Fragmentinstanzen eine beliebige Menge an Zustand beibehalten können. Berücksichtigen Sie bei größeren Seitenmengen
FragmentStatePagerAdapter
.
Und über FragmentStatePagerAdapter
:
Diese Version des Pagers ist nützlicher, wenn eine große Anzahl von Seiten vorhanden ist und eher wie eine Listenansicht funktioniert. Wenn Seiten für den Benutzer nicht sichtbar sind, wird möglicherweise das gesamte Fragment zerstört, wobei nur der gespeicherte Status dieses Fragments beibehalten wird. Dies ermöglicht es dem Pager, mit jeder besuchten Seite viel weniger Speicher zu belegen als
FragmentPagerAdapter
auf Kosten eines möglicherweise höheren Overheads beim Wechseln zwischen Seiten.
Ich habe also nur 3 Fragmente. Alle sind jedoch separate Module mit einer großen Datenmenge.
Fragment1
behandelt einige Daten (die Benutzer eingeben) und übergibt sie über Aktivität an Fragment2
, was nur eine einfache ist ListFragment
. Fragment3
ist auch ein ListFragment
.
Meine Fragen sind also : Welchen Adapter soll ich verwenden? FragmentPagerAdapter
oder FragmentStatePagerAdapter
?
FragmentPagerAdapter
und FragmentStatePagerAdapter
aber was ist FragmentStateAdapter
?