adapter优化方式

来源:互联网 发布:sony相机软件 编辑:程序博客网 时间:2024/05/06 03:31

adapter优化需要两步,这是google i/o大会推荐的

第一步,复用convertview

复用convertview的目的是为了复用已经用过的view,否则每次都要实例化,占用内存资源多,效率太低,

在初始显示时,convertview的值为Null,当显示完整个屏幕,再往下滑的时候,convertview的值就是原来的旧的view.原理是,android提供了缓存功能,使用recycle把用过的view缓存起来

使用方式

第二步  创建viewholder

viewholder的主要作用是一次性调用findviewbyid,否则每次getview都需要findview,效率低。其次实现了面向对象的思想,把item中的view封装成对象

 

关键代码如下

getView(int positon ,View convertView,ViewGroup parent){

private Holder holder = null;

if(convertview ==null){

convertview =layoutinfalter.inflater(....xml);

holder = new Holder();

holder.view1 = findviewbyid(id1);

holder.view2=findviewbyid(id2);

convertview.settag(holder);

 

}else{

  holder = (Holder)convert.getTag();

   }

return convertview;

}

 

原创粉丝点击