RecycleView控件的出现是为了替代ListView和GridView控件的,号称,是他们的加强版,在性能上做了优化处理,这里总结一下优化的地方。
1,在以往使用ListView或者GridView的时候,如果要进行性能优化,基本上两个做法:
①定义内部类ViewHolder;
定义ViewHolder是为了减少findViewById的次数,如果每一次渲染布局都进行一轮的findViewById,明显重复了,所以性能较低。
②判断convertView,如果为null则进行布局渲染,否则直接重用上一次渲染的convertView。
渲染布局,本身是比较耗性能的,对于这种列表类的控件其实布局是相同的,不同的只是布局展示的内容,那么,都是长的一样的item布局,每次展示item的时候都重新进行item布局的渲染无疑严重增加了负荷,所以,其实我们只需要渲染一次,在以后重用这个渲染的布局,同时,给布局set不同的数据即可。
基于以上两点,RecycleView都做了优化,而且是强行优化,要想使用RecycleView就得按照它的这个优化的套路进行写代码。
先说结论
1,RecycleView内部自动进行了ViewHolder的优化操作,使用RecycleView必须进行ViewHolder的继承和重写;
2,代码实现了高内聚低耦合的风格