android-fragments - 使用OffScreenLimit设置FragmentPagerAdapter与ViewPager之间的android差异为 1和 FragmentStatePagerAdapter?

  显示原文与译文双语对照的内容
128 0

FragmentPagerAdapter 与OffScreenLimit设置为 1和 FragmentStatePagerAdapter的ViewPager之间的区别是什么?

关于google的FragmentPagerAdapter 指南:

这个版本的页码最适合使用一些通常更多的static Fragments,例如一组选项卡。用户访问页面的fragment 将保存在内存中,但在不可见的情况下,它的视图层次可能会被破坏。这可能导致使用大量内存,因为 fragment 实例可以保持任意数量的状态。对于较大的页面集,考虑 FragmentStatePagerAdapter 。

关于 FragmentStatePagerAdapter:

当存在大量页面时,这里版本的页码更有用,更像列表视图一样。当页面不可以见时,它们的整个 fragment 可以能会被销毁,只保存该 fragment的保存状态。这允许页寻呼器与每个访问页相比,在页面之间切换的开销可以能比FragmentPagerAdapter更少。

如果将offscreenlimit设置为 1,它将销毁当前 fragment的两个下一个的所有 Fragments,并且它的行为类似于 FragmentStatePagerAdapter 。这个正确吗?

时间:原作者:0个回答

93 4

区别完全与文档中写的一样。但可能会有些混乱。

FragmentPagerAdapterFragmentManager 中保留它的Fragments,而不可见的( 当他们越过屏幕外界限界限时) 和 FragmentStatePagerAdapter 将它们从 FragmentManager 中删除。

这个 offscreenPageLimit 有点不一样。它内部的所有 Fragments 都附加到 UI 。一旦它们结束,它们要么是移除,要么是分离。

你可以在 FragmentPagerAdapter ( 行 121 ) 和 FragmentStatePagerAdapter ( 第 144行) 中看到它

原作者:
...