都知道Adapter中的getView是为了返回listView的每个item

参数:

public View getView(final int position, View convertView, ViewGroup parent) {

为了节省效率 Android提供了第二个参数convertView为了帮助缓存view.

但是经过测试发现 这个缓存并不准确。

所以自己做了个缓存:

public View getView(final int position, View convertView, ViewGroup parent) {        //Log.i(TAG,"getView " + position + " " + convertView);        //缓存        String nowPosString = String.valueOf(position)+"_position";        View newCViewonvertView = viewHold.get(nowPosString); //map        if(newCViewonvertView == null)        {            LayoutInflater _LayoutInflater = LayoutInflater.from(mContext);            newCViewonvertView = _LayoutInflater.inflate(R.layout.item, null);            //自行缓存view            viewHold.put(nowPosString, newCViewonvertView);                }    return newCViewonvertView;}

完成。

如果有错请指点~ 有问题请留言~





更多相关文章

  1. android在代码中修改view的布局
  2. Android中pendingIntent的深入理解
  3. Android(安卓)NDK开发之旅38--FFmpeg视频添加水印
  4. Android(安卓)6种快速开发框架
  5. 【Android(安卓)NDK 开发】Android(安卓)Studio 使用 CMake 导入
  6. android通过oauth1.0发表新浪微博
  7. ListView拖动时背景黑色的问题
  8. Android(安卓)ListView 图片异步加载和图片内存缓存
  9. Android(安卓)缓存浅谈(一) LruCache

随机推荐

  1. 还在使用if-else?试一下策略模式
  2. 理解Git Submodules
  3. PreferenceActivity用法简介【转】
  4. 单例模式的十种写法,你会几个?(修补了几个错
  5. Lottie动画简介
  6. ym——Android从零开始(5)(文件操作+日记
  7. Android轻松集成Camera拍照
  8. 停更大半年了,开始新一段旅程
  9. :Android和j2me的初级对比
  10. SQL学习笔记之数据库专题(三):Android下Sqli