安卓控件之ListView
来源:互联网 发布:关于所有淘宝软件 编辑:程序博客网 时间:2024/06/05 02:00
1.如何提高listview的效率?
当converview为空时,用setTag方法为每个View绑定一个存放控件的ViewHolder对象,当converview不为空时,重复利用已创建的View时,可以通过getTag方法快速找到ViewHolder,这样避免了对控件的层层查询。代码片段如下:
<span style="white-space:pre"></span>if (convertView == null) { holder = new ViewHolder(); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); }
①复用converview,使用历史的view,提升效率200%;
②自定义静态类ViewHolder,减少findbyId的次数,提升效率50%
③异步加载数据,分页加载数据
④使用弱引用imageview对象
2.当listview数据集改变后,如何更新listview?
使用adapter.notifyDataSetChanged()方法,这个会使listview重新刷新。
3.listview如何优化图片?
①不要拿路径去循环BitmapFactory.decodeFile;使用options保存图片大小,不要加载图片到内存中去
②对图片一定要经过边界压缩尤其是比较大的图片,最好后台能将图片处理
③不要直接那个路径去取图片,而是以弱引用代替
④在getView中图片转换时,中间变量一定要释放
异步加载图片:
先从内存缓存中获取图片
获取不到的话从SD卡里面获取
都获取不到就从网络下载,保存到SD加入到内存并显示
4.listview图片错位问题是怎么产生的?
图片错位源于我们使用了converview,假设一种场景,一个listview显示9个item,那么在拉出第9个item时其实是重复使用第一个item,也就是说第一个item从网络下载并要显示的时候,该item已经不再显示区域,此时就有可能在第10个item上显示,这就可能导致图片错位问题,解决办法是能显示就显示不能显示就不显示
- 安卓控件之ListView
- 学习笔记之安卓的显示控件ListView
- 安卓的控件之AutoCompleteTextView,ListView,Menu,Dialog
- 安卓之高级控件Listview的优化
- 安卓之高级控件Listview的优化
- 安卓ListView控件显示
- 安卓基础之ListView
- 安卓开发之ListView
- 安卓布局,控件imageview,ListView
- 安卓listview item内部控件操作方法
- 基于Java语言的安卓编程之十六ListView控件1(上)
- 基于Java语言的安卓编程之十六ListView控件1(下)
- 安卓Android控件ListView嵌套EditText控件
- 安卓控件之菜单
- 安卓控件之图片控件(ImagView)
- 安卓UI组件之ListView详解
- 安卓入门学习之ListView
- 2015.5.13安卓笔记之listview
- Oracle数据库创建表空间和用户及删除数据库(用户)
- c++ 归并排序
- JAVA多态理解(包含他人经典例子)
- 获取android系统服务信息dumpsys,监视android系统systrace
- PopupWindow使用 样式,监听
- 安卓控件之ListView
- Ubuntu下面安装HIVE
- Python菜鸟--列表(List)
- 非对称式加密算法
- LeetCode - Unique Binary Search Trees
- cocos2d-x ListView列表
- PDO乱码问题
- Solr docValues字段属性详解
- 关于java web中的序列化问题Serializable