FragmentPagerAdapter
使用FragmentPagerAdapter 时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合用FragmentPagerAdapter了,FragmentPagerAdapter 适用于只有少数的page情况,像选项卡。
FragmentStatePagerAdapter
这个时候你可以考虑使用FragmentStatePagerAdapter ,当使用FragmentStatePagerAdapter 时,如果Fragment不显示,那么Fragment对象会被销毁,(滑过后会保存当前界面,以及下一个界面和上一个界面(如果有),最多保存3个,其他会被销毁掉)
但在回调onDestroy()方法之前会回调onSaveInstanceState(Bundle outState)方法来保存Fragment的状态,下次Fragment显示时通过onCreate(Bundle savedInstanceState)把存储的状态值取出来,FragmentStatePagerAdapter 比较适合页面比较多的情况,像一个页面的ListView 。
本文介绍了FragmentPagerAdapter和FragmentStatePagerAdapter在使用时的区别。FragmentPagerAdapter适合展示少量页面,因为它会将所有Fragment保留在内存中。而FragmentStatePagerAdapter则会在Fragment不可见时销毁它们,以节省资源,适合大量页面的场景。在销毁前,FragmentStatePagerAdapter会保存状态,以便于恢复。了解这两个适配器的特性对于优化Android应用性能至关重要。
793

被折叠的 条评论
为什么被折叠?



