ListView 的优化
2024-08-24 21:12:58
- listView 的宽高设为固定, 或match_parent,这样在加载布局是, 几面装下几个item 就首先加载几个
- 减少对象的创建
//减少对象的创建
if (convertView == null) {
//实例化一个布局文件
convertView = LayoutInflater.from(context).inflate(R.layout.my_simple_adapter, null);
} - 使用ViewHolder 提高查找组件的效率
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
//减少对象的创建
if (convertView == null) {
//实例化一个布局文件
convertView = LayoutInflater.from(context).inflate(R.layout.my_simple_adapter, null);
viewHolder = new ViewHolder();
viewHolder.img = (ImageView) convertView.findViewById(R.id.img);
viewHolder.title = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
System.out.println(convertView);
viewHolder.title.setText(titles[position]);
viewHolder.img.setImageResource(icons[position]);
return convertView;
}
//用于保存第一次查找的组件, 避免下次重复查找
static class ViewHolder {
//不封装 效率更高
ImageView img;
TextView title;
}
}
最新文章
- Java上传文件
- zaqar项目介绍
- centos7 php7 安装composer时Failed to decode zlib stream解决办法
- UVA-10735 - Euler Circuit(混合欧拉回路输出)
- Spring Boot 启动原理分析
- .NET中删除空白字符串的10大方法
- C#判断程序是否以管理员身份运行,否则以管理员身份重新打开
- NuGet学习笔记(3)——搭建属于自己的NuGet服务器(转)
- GoWithTheFlow
- 170113、CentOs6.4中安装和配置vsftp简明教程
- google搜索指南
- JavaEE进阶集锦(持续更新中)
- tensorflow下基于DNN实现实时分辨人脸微表情
- C# System.Collections.ArrayList
- zoj 3644 记忆化搜索
- AndroidUI设计 之 图片浏览器
- 网络 私有IP和子网掩码设置
- 【vue】跟着老马学习vue-数据双向绑定
- HttpRunnerManager平台异步生成及展示代码覆盖率报告
- 一、html