3 回答
TA贡献1826条经验 获得超6个赞
FragmentsFragmentStatePagerAdapterBitmapsFragmentPagerAdapterViewPagerAdapterViewAdapterFragment
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 关注
- 1395 浏览
添加回答
举报
