安卓开发之ListView优化方案
来源:互联网 发布:数据库表结构属性 编辑:程序博客网 时间:2024/05/29 04:37
ListView优化方案
ListView的一些优化
一、Adapter中的优化
运用了convertView的回收视图,当convertView不为NULL时,就不需要再去解析视图。
还利用了viewholder模式,不用每次都去通过id查找控件findViewByID,而是将View保存在viewholder中,再通过convertView将viewholder标记下来。实例代码
public class BookAdapter extends BaseAdapter { private Context mContext; private List<Book> mdata; public BookAdapter(Context mContext, List<Book> mdata) { this.mContext = mContext; this.mdata = mdata; } public void refresh(List<Book> list) { mdata = list; notifyDataSetChanged(); } public List<Book> getDataList() { return mdata; } @Override public int getCount() { return mdata.size(); } @Override public Book getItem(int position) { return mdata.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { Holder holder = null; if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(mContext); convertView = inflater.inflate(R.layout.item_book, null); holder = new Holder(); holder.tv_book = (TextView)convertView.findViewById(R.id.book_text); holder.tv_uri = (TextView) convertView.findViewById(R.id.book_uri); convertView.setTag(holder); } else { holder = (Holder) convertView.getTag(); } holder.tv_book.setText(mdata.get(position).getName()); holder.tv_uri.setText(mdata.get(position).getLink()); return convertView; } class Holder { private TextView tv_book ,tv_uri; }}
二、图片的异步加载
监听ListView滚动状态,只有当其静止的时候才异步加载网络图片数据。
(给ImageView设置tag)
三、图片的缓存加载
0 0
- 安卓开发之ListView优化方案
- 安卓开发之listView优化篇
- 安卓开发之ListView
- [安卓]手机管家(十三)通讯卫士之listview优化
- 安卓之高级控件Listview的优化
- 安卓之高级控件Listview的优化
- Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
- Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
- 安卓开发之基于ListActivity的LIstView的用法
- ListView的优化方案
- ListView优化方案
- ListView优化方案
- ListView优化方案
- 最强ListView优化方案
- ListView优化方案
- ListView优化方案
- ListView优化方案
- ListView优化方案
- getLastKnownLocation 返回null
- java持有对象map(三)-对象化计数
- 安装ubuntu出现空闲的空间不可用
- skynet学习笔记一
- RPC原理
- 安卓开发之ListView优化方案
- linux安装必要的开发工具
- JavaScript File API总结
- Leetcode_144_Binary Tree Preorder Traversal
- 闲云笔记——Android
- Kotlin学习之函数
- oracle——SQL复习11
- HBase Create Table
- vim 语法高亮