Android——ListView的简单优化
来源:互联网 发布:空中蹬车知乎 编辑:程序博客网 时间:2024/05/06 08:52
在重写ListView的自定义Adapter时,之前一般都是通过重写getView()方法返回一个View,在里面一般是先通过LayoutInflater方法获取view,然后在获取View里面的控件,并为这些控件设置属性。这样做在数据很十分多的情况下,进行listView的上下拉动时会重新加载那些已经创建过得view,很浪费资源导致卡顿。
通过一种简单的方法可以有效的解决这个问题:
public View getView(int position,View convertView,ViewGroup){}
在getView中可以先判断当前位置有没有被加载过,即:判断convertView是否为空
ViewHolder holder;if(convertView==null){ //当为空时 convertView=LayoutInflater.from(getContext()).inflate(R.layout.list_cell,null.false); //创建一个静态内部类对象,里面用于记录convertView的所有要被编辑的控件的对象 holder=new ViewHolder(); holder.tvName=convertView.findViewById(R.id.tvName); . . . 等等 //为这些控件设置属性 holder.tvName.setText("..."); . . .//通过convertView的setTag(Object ...)保存当前的holder; convertView.setTag(holder);}else{//如果当前的convertView已经被加载过了,那么取出holder,重新进行进行属性设置holder=(ViewHolder)convertView.getTag();}
0 0
- Android——ListView的简单优化
- Android—ListView 的使用以及简单优化
- android ListView的简单使用与优化
- Android之ListView的简单优化两步走
- Android开发之ListView详解 以及简单的listView优化
- Android——ListView的优化
- ListView的简单优化
- Android ListView的优化
- Android ListView 的优化
- android ListView的优化
- android----------ListView的优化
- Android ListView的优化
- android ListView的优化
- Android ListView的优化
- android listview的优化
- [Android] ListView的优化
- Android的Listview优化
- 【Android UI】ListView的使用和简单优化
- 博客写作计划
- J2EE实验2:乘法口诀表和访问计数器
- Ubuntu配置Node.js、MongoDB与Express环境
- pyton 支持utf-8
- 加密算法比较3DES AES RSA ECC MD5 SHA1等
- Android——ListView的简单优化
- 【Leetcode】Populating Next Right Pointers in Each Node II
- 中文编码杂谈
- 怎么解决mysql不允许远程连接的错误
- 使用nexus搭建maven私服
- Android项目-几种常见的应用架构
- python语法
- latex#1
- 关于旋转(view的旋转以及上面电池条选装的方向)