Android(安卓)Adapter中的getView缓存失效
16lz
2021-01-26
都知道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;}
完成。
如果有错请指点~ 有问题请留言~
更多相关文章
- android在代码中修改view的布局
- Android中pendingIntent的深入理解
- Android(安卓)NDK开发之旅38--FFmpeg视频添加水印
- Android(安卓)6种快速开发框架
- 【Android(安卓)NDK 开发】Android(安卓)Studio 使用 CMake 导入
- android通过oauth1.0发表新浪微博
- ListView拖动时背景黑色的问题
- Android(安卓)ListView 图片异步加载和图片内存缓存
- Android(安卓)缓存浅谈(一) LruCache