在Android的开发中,滚动列表是一个出镜率非常高的组件。这其中RecyclerView是当然不让的明星。从Native到weex,RecyclerView有着非常广泛的使用。正因如此,我们持续不断地针对RecyclerView页面进行优化。在最近一次调研RecyclerView优化的过程中,偶然看到google在最新版版本的RecyclerView中增加了Prefetch功能。Prefetch的功能到底做了哪些事情,是不是真的能提升页面性能,使用的成本有多高?
针对这些问题,本文将分三步来做一个简单的探究:
- (1)功能怎么用
- (2)效果怎么样
- (3)原理是什么
1. Prefetch功能的使用
在研究Prefetch功能的实际效果之前,首先需要能正常使用Prefetch功能。
第一步 :升级 Support Library的版本到 25.3.1。
google官方在 Support Library v25 版本中,为RecyclerView增加了Prefetch。
并且在 v25.1.0 以及25.3.0版本中进行了完善。在最新的稳定版本25.3.1中已经基本稳定。
如果需要使用建议升级到25.3.1版本。详细可见support-library change log注意: android support v4 包从24.2.0版本开始拆分成了多个更小的模块。
包括:support-compat,support-core-utils,support-core-ui,support-media-compat以及
support-fragment。如果出现使用compile group: 'com.android.support', name: 'support-v4', version: '25.3.1', ext: 'jar'
出现了类找不到的情况,需要按照需要依赖上述子包。
第二步:实现LayoutManager
如果你使用的是官方的LayoutManager,那么直接可以获取Prefetch的功