FragmentPagerAdapter
和FragmentStatePagerAdapter
有什么区别?
关于FragmentPagerAdapter
Google指南说:
关于FragmentStatePagerAdapter
:
所以我只有3个片段。但是它们都是具有大量数据的独立模块。Fragment1
处理一些数据(用户输入),并通过 Activity 将其传递给Fragment2
,这只是一个简单的ListFragment
。 Fragment3
也是ListFragment
。
所以我的问题是:我应该使用哪个适配器? FragmentPagerAdapter
或FragmentStatePagerAdapter
吗?
最佳答案
就像文档所说的那样,以这种方式思考。如果要像书本阅读器这样的应用程序,则不希望立即将所有片段都加载到内存中。您希望在用户读取时加载和销毁Fragments
。在这种情况下,您将使用FragmentStatePagerAdapter
。如果仅显示3个“标签”,其中不包含大量数据(例如Bitmaps
),那么FragmentPagerAdapter
可能很适合您。另外,请记住,默认情况下ViewPager
将3个片段加载到内存中。您提到的第一个Adapter
可能会破坏View
层次结构并在需要时重新加载它,第二个Adapter
仅保存Fragment
的状态并完全销毁它,如果用户随后返回该页面,则会检索该状态。
关于android - FragmentPagerAdapter和FragmentStatePagerAdapter有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18747975/