Android初级,缓存原理的使用

缓存原理介绍

缓存原理对于代码编程来说至关重要,但它也并非毫无瑕疵的。
缓存原理的优点即在于,它会像一个“扳手”一样将每一个行布局、绑定ID的操作都在一个方法中执行,简化了程序员的操作程序;
而它的缺点也在此,如果数据过多,则会导致代码中的数据与实际显示的数据有出入

整体思路:

  • 创建一个内部类,此处取名为ViewHolder
  • 在Activity继承了BaseAdapter后修改getView()方法,在此处使用缓存原理
  • 创建行布局文件
  • 对viewHolder进行实例化
  • 分别为对控件的绑定ID
  • 创建行布局视图
  • 切记修改返回值,使之指向自定义的view对象

代码展现

1.首先创建一个内部类,取名为ViewHolder,用于对控件的声明;

 class ViewHolder {
        TextView titleTv;
        TextView artistTv;
        TextView albumTv;
        ImageView albumBmp;
        View playingImg;
    }

2.其次对Viewholder类的调用

 @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        View v ; //声明 View及ViewHolder对象
        ViewHolder viewHolder;

        if (view == null) //对view进行判断,判断是否有“扳手”{

        v=LayoutInflater.from(context).inflate(R.layout.musci_item_layout,null);//创建行布局文件


            viewHolder = new ViewHolder(); //对viewHolder进行实例化

            viewHolder.titleTv = v.findViewById(R.id.simple_name_Tv); //以下分别为对控件的绑定ID
            viewHolder.albumTv = v.findViewById(R.id.simple_edit_Tv);
            viewHolder.artistTv = v.findViewById(R.id.simple_edit_Tv);
            viewHolder.albumBmp = v.findViewById(R.id.simple_cover_Iv);
            viewHolder.playingImg = v.findViewById(R.id.list_column_v);
            v.setTag(viewHolder);

        } else {

            v = view; //创建行布局视图
            viewHolder = (ViewHolder) v.getTag();
        }

        return view;//切记修改返回值,使之指向自定义的view对象
        }

你可能感兴趣的:(android,android,缓存,继承,数据,程序员)