FragmentPagerAdapter与FragmentStatePagerAdapter的区别+ViewPager数据刷新问题详解

来源:互联网 发布:如何申请淘宝买家贷款 编辑:程序博客网 时间:2024/06/08 10:57

FragmentPagerAdapter与FragmentStatePagerAdapter 的区别

区别

  • FragmentPagerAdapter

    • 每一个Fragment都会被保存在fragment manager中
    • 每一个用户访问过的Fragment都会被保存在内存中,在销毁时,只会销毁其视图层级,其实例还在内存中。这可能导致大量的内存会浪费,因此使用场景为那种少量且相对静态的页面。而对于较多的页面集合,更推荐使用FragmentStatePagerAdapter
  • FragmentStatePagerAdapter

    • 用于大量页面的情况
    • 当页面销毁时,Fragment视图+实例都会被销毁,当显示界面时,会重建
    • 相比于FragmentPagerAdapter,这样做的好处是在访问各个页面时能节约大量的内存开销,但代价是在页面切换时会增加非常多的开销
  • 最大不同就是:用户访问过的页面不可见之后是否会保留在内存中

相同点

  1. 两个都继承自PagerAdapter
  2. 都用来展示多个Fragment的情况

ViewPager数据刷新问题详解

原本是打算自己写一篇文章的,但是在查找资料过程中发现有一篇文章总结的很到位,而且很详细,我这蓝癌晚期患者也就不卖弄了。

以下是原文链接:

http://www.jianshu.com/p/266861496508#

希望大家都可以在其中收获到自己需要的东西

0 0