ListView开发总结笔记
来源:互联网 发布:淘宝店铺认证后怎么办 编辑:程序博客网 时间:2024/03/29 22:04
PS:
这个东西是早前时段写的,参考价值不大,扔了又觉得可惜.所以还是在次存档.
ListView优化的三种情况和方式
第一种情况:常采用ViewHolder
在getView的时候都会返回一个convertView
为了避免每次
convertView = LayoutInflater.from(this.mContext).inflate(R.layout.listview_news_item, null, false);
然后再挨个findViewById()来为控件赋值,这样很浪费时间,效率不高.
于是可以用ViewHolder来解决问题.
当convertView为空的时候(即第一次的时候),我们执行:
convertView = LayoutInflater.from(this.mContext).inflate(R.layout.listview_news_item, null, false);
convertView.setTag(holder);
当convertView不为空的时候
holder = (ViewHolder) convertView.getTag();
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(this.mContext).inflate(
R.layout.listview_news_item, null, false);
holder.dateTextView = (TextView) convertView
.findViewById(R.id.news_item_date);
holder.contentTextView = (TextView) convertView
.findViewById(R.id.news_item_content);
holder.arrowImageView=(ImageView) convertView
.findViewById(R.id.news_item_arrow);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if (this.mList != null) {
NewsListItemObject item = this.mList.get(position);
if (holder.dateTextView != null) {
holder.dateTextView.setText(item.ann_str_dm);
}
if (holder.contentTextView != null) {
holder.contentTextView.setText(item.con_tit);
}
if (item.getClk_url().trim().length()<1) {
holder.arrowImageView.setVisibility(View.INVISIBLE);
}else {
holder.arrowImageView.setVisibility(View.VISIBLE);
}
}
return convertView;
}
第二种情况:
加载本地图片可以采用取缩率图的方式,来避免加载大图造成OOM
第三种情况:
加载网络图片避免OOM
我们可以自己写一个异步加载的框架来实现.主要考虑的是网络请求,图片的在内存中的缓存以及在SDCard中保存.
同时我们可以采用一些第三方已经封装好的工具来实现.
比如ImageLoader以及universal-image-loader
- ListView开发总结笔记
- Android笔记-ListView总结
- Android笔记-ListView总结
- ListView开发笔记
- android开发笔记:listview
- Android开发之listview总结
- android开发:自定义ListView总结
- Android 开发ListView学习总结
- Android开发总结笔记 ListView(列表视图[上]) 1-3-1
- Android开发总结笔记 ListView(列表视图[中]) 1-3-2
- Android开发总结笔记 ListView(列表视图[下]) 1-3-3
- 学习笔记4: ListView使用总结
- 【Android 开发教程】ListView的总结范例
- Android开发ListView控件使用总结。
- android开发中几种关于ListView用法总结
- 开发笔记总结
- VUE 开发总结笔记
- Android开发学习笔记:浅谈ListView
- mybatisSql编写小结
- Cookie开发问题总结笔记
- VS2008增量编译
- win7下vs2008过期升级没有提示序列号
- java学习之三大结构
- ListView开发总结笔记
- 手势学习总结记录
- C语言 - 将任意一个数的奇数位逆序,组成新数
- hdu 4003 Find Metal Mineral(树形DP+分组背包,每个物品必须只能选一次)
- 使用STL,远离异常,VS2005
- 浅谈java单列模式
- 如何推广自己的网站效果更好
- 当恢复sql server bak文件时,原始的用户无法删除
- 算术运算符