Android PagerAdapter&FragmentPagerAdapter &FragmentPagerAdapter

https://blog.csdn.net/androidxiaogang/article/details/51646868
https://www.jianshu.com/p/043020843899

PagerAdapter

package android.support.v4.view;
...
...
public abstract class PagerAdapter {

FragmentPagerAdapter

该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种,page是固定的,因为fragment不会被完全回收

package android.support.v4.app;
...
...
public abstract class FragmentPagerAdapter extends PagerAdapter {}
  • 1、通过offscreenPageLimit来控制page container的cache数量 n*2+1;
  • 2、当加载的page超出cache count会用FragmentManager来释放fragment
  • 3、被释放的fragment实际上不会被完全回收,因为没有调用onDestory(),当再次回到这个page时也没有调用onCreate();
  • 4、当fragment被显示在屏幕上时,setUserVisibleHint为true,不显示时为false.

FragmentStatePagerAdapter

适用于: 比较多的fragment,保证回收,清理内存。被释放的fragment会被完全回收,调用了onDestory()的方法;

package android.support.v4.app;
...
...
public abstract class FragmentStatePagerAdapter extends PagerAdapter {}

你可能感兴趣的:(Android PagerAdapter&FragmentPagerAdapter &FragmentPagerAdapter)