在ViewPager中嵌套多个Fragment后,进行内存优化的原理

418 阅读1分钟
    需求背景:加载多个fragment甚至是几十个上百个的fragment导致的瞬间卡死现象。

    准备工作。fragment懒加载的技术原理。

    使用ViewPager加载fragment一般是使用一个集合添加fragment对象后,然后给FragmentPagerAdapter适配器进行。

    不可否认这个方法很简单,很粗暴,但是很容易在打开瞬间会有大量对象创建,导致我们的打开瞬间会卡死。
    
    针对这个问题,我给出一个解决方案,ViewPager在从适配器中getItem的方法创建fragment对象,这样不会一次性创建这么多数据。
    再通过viewholder进行优化,保证不会重复创建。最后我们在fragment的setUserVisibleHint中进行懒加载逻辑处理。