【发布时间】:2013-09-15 21:04:40
【问题描述】:
FragmentPagerAdapter 和 FragmentStatePagerAdapter 有什么区别?
关于FragmentPagerAdapter Google 的指南说:
这个版本的寻呼机最适合在有少数人的情况下使用 通常需要分页的更多静态片段,例如一组 标签。用户访问的每个页面的片段将保存在 内存,尽管它的视图层次结构在不可见时可能会被破坏。 这可能会导致使用大量内存,因为片段 实例可以保持任意数量的状态。对于较大的套装 页数,请考虑
FragmentStatePagerAdapter。
关于FragmentStatePagerAdapter:
这个版本的寻呼机在人多的时候比较有用 页面,更像是一个列表视图。当页面不可见时 用户,他们的整个片段可能会被销毁,只保留 该片段的保存状态。这允许寻呼机保持很多 与每个访问的页面相关的内存更少
FragmentPagerAdapter以潜在的更多开销为代价 在页面之间切换。
所以我只有 3 个片段。但它们都是独立的模块,数据量很大。
Fragment1 处理一些数据(用户输入)并通过活动将其传递给Fragment2,这只是一个简单的ListFragment。 Fragment3 也是 ListFragment。
所以我的问题是:我应该使用哪个适配器? FragmentPagerAdapter 或 FragmentStatePagerAdapter?
【问题讨论】:
-
我认为只有 3 个 Fragment 使您有资格使用 FragmentPagerAdapter。这些 Fragments 的选项卡可能会同时显示。
-
这篇文章节省了我 5-6 个小时,因为我使用了错误类型的适配器
-
回答这个问题会引发另一个问题stackoverflow.com/questions/9156406/…
-
有
FragmentPagerAdapter和FragmentStatePagerAdapter但FragmentStateAdapter是什么?
标签: android android-fragments android-viewpager fragmentpageradapter fragmentstatepageradapter