У чому різниця між FragmentPagerAdapter
і FragmentStatePagerAdapter
?
Про FragmentPagerAdapter
посібник Google йдеться:
Ця версія пейджера найкраще використовувати, коли є кілька типово більш статичних фрагментів, які підлягають проходці, наприклад, набір вкладок. Фрагмент кожної сторінки, яку відвідує користувач, зберігатиметься в пам’яті, хоча її ієрархія перегляду може бути зруйнована, коли її не буде видно. Це може призвести до використання значного обсягу пам'яті, оскільки екземпляри фрагментів можуть утримувати довільну кількість стану. Розгляньте про більші набори сторінок
FragmentStatePagerAdapter
.
І про FragmentStatePagerAdapter
:
Ця версія пейджера є більш корисною, коли є велика кількість сторінок, які більше схожі на перегляд списку. Якщо сторінки не видно користувачеві, весь їх фрагмент може бути знищений, лише зберігаючи збережений стан цього фрагмента. Це дозволяє пейджеру утримувати набагато менше пам’яті, пов’язаної з кожною відвідуваною сторінкою, порівняно
FragmentPagerAdapter
з ціною потенційно більше накладних витрат при переході між сторінками.
Тож у мене всього 3 фрагменти. Але всі вони є окремими модулями з великим обсягом даних.
Fragment1
обробляє деякі дані (які користувачі вводять) і передає їх через активність Fragment2
, що просто ListFragment
. Fragment3
також є ListFragment
.
Тому мої запитання : Який адаптер я повинен використовувати? FragmentPagerAdapter
або FragmentStatePagerAdapter
?
FragmentPagerAdapter
і FragmentStatePagerAdapter
але що є FragmentStateAdapter
?