3 回答
TA贡献1826条经验 获得超6个赞
Fragments
FragmentStatePagerAdapter
Bitmaps
FragmentPagerAdapter
ViewPager
Adapter
View
Adapter
Fragment
TA贡献1806条经验 获得超5个赞
FragmentPagerAdapter
将整个片段存储在内存中,如果使用大量的片段,则会增加内存开销。 ViewPager
.相反,它的兄弟姐妹, FragmentStatePagerAdapter
只存储碎片的保存状态,并在所有碎片失去焦点时销毁它们。 因此 FragmentStatePagerAdapter
当我们必须使用动态片段时,应该使用它,比如带有小部件的片段,因为它们的数据可以存储在 savedInstanceState
而且,即使有大量的片段,它也不会影响性能。 相反,它的兄弟姐妹 FragmentPagerAdapter
应该在我们需要将整个片段存储在内存中时使用。 当我说整个片段保存在内存中时,意味着它的实例不会被销毁,并且会造成内存开销。因此,建议使用 FragmentPagerAdapter
只有当碎片数量较少时 ViewPager
.如果碎片是静态的,那就更好了,因为它们不会有大量的对象,这些对象的实例将被存储。
FragmentStatePagerAdapter:
带着 FragmentStatePagerAdapter
,您不需要的片段就被销毁了。一个事务被提交到从您的活动的片段中完全删除该片段。 FragmentManager
.州 FragmentStatePagerAdapter
是因为它会拯救你的碎片 Bundle
从… savedInstanceState
当用户向后导航时,将使用片段的状态恢复新的片段。
FragmentPagerAdapter:
通过比较 FragmentPagerAdapter
什么都不做,当碎片不再需要的时候。 FragmentPagerAdapter
打电话 detach(Fragment)
关于事务而不是 remove(Fragment)
.此破坏是碎片的视图,但将碎片的实例保留在 FragmentManager
因此,在 FragmentPagerAdapter
永远不会被摧毁。
TA贡献1850条经验 获得超11个赞
FragmentPagerAdapter
- 3 回答
- 0 关注
- 1357 浏览
添加回答
举报