Android为我们提供了一些写好的适配器来给ViewPager使用,它们包括FragmentPagerAdapter,FragmentStatePagerAdapter。
一、Fragment与ViewPager一起时,Fragment就像小媳妇
让Fragment成为ViewPager的一页时,FragmentManager会一直保存管理创建好了的Fragment,即使当前不是显示的这一页,Fragment对象也不会被销毁,而在后台默默等待显示。但如果Fragment不再可见时,它的视图层次会被销毁掉,下次显示时视图会重新创建。
由于使用FragmentPagerAdapter时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合FragmentPagerAdapter了,FragmentPagerAdapter只适用于少数page的情况。
二、FragmentStatePagerAdapter
当使用FragmentStatePagerAdapter时,如果Fragment不显示,那么Fragment对象会被销毁,但在回调onDestroy()之前会调用onSaveInstanceState(Bundle outState)来保存Fragment的状态,下次Fragment显示时通过onCreate(Bundle savedInstanceState)把存储的状态值取出来。