需求背景:加载多个fragment甚至是几十个上百个的fragment导致的瞬间卡死现象。
准备工作。fragment懒加载的技术原理。
使用ViewPager加载fragment一般是使用一个集合添加fragment对象后,然后给FragmentPagerAdapter适配器进行。
不可否认这个方法很简单,很粗暴,但是很容易在打开瞬间会有大量对象创建,导致我们的打开瞬间会卡死。
针对这个问题,我给出一个解决方案,ViewPager在从适配器中getItem的方法创建fragment对象,这样不会一次性创建这么多数据。
再通过viewholder进行优化,保证不会重复创建。最后我们在fragment的setUserVisibleHint中进行懒加载逻辑处理。
复制代码
在ViewPager中嵌套多个Fragment后,进行内存优化的原理
最新推荐文章于 2021-12-17 11:52:08 发布