listview优化方案
优化方向: 1、 利用convertView缓存的布局减少创建listview item的数量,尽可能复用以前创建的
2、利用viewholder机制,尽可能的减少 findviewbyid这一类的查找控件的操作。如果要复用布局,则同时将查找到的控件存储起来(setFlag),下次使用的时候可以直接用(getFlag)。
示例代码
示例代码解析:
见一个viewholder的类,把所有用到的控件都声明,如果该组建被创建的时候同时把这个类中的控件存储起来,下次如果复用 convertView的话,同时把之前存储的 找到的控件都取出来直接使用。注意 使用的话 相当于一个对象的属性 : 对象.控件 。 如下所示:
class MyAdapter extends BaseAdapter {@Overridepublic int getCount() {return mAllData.size();}@Overridepublic Object getItem(int position) {return mAllData.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {ViewHolder viewHolder = null;if (convertView == null) {convertView = View.inflate(getApplicationContext(), R.layout.listview_blacknumber_item, null);viewHolder = new ViewHolder();viewHolder.tvPhone = (TextView) convertView.findViewById(R.id.tv_phone);viewHolder.tvMode = (TextView) convertView.findViewById(R.id.tv_mode);viewHolder.ivDelete = (ImageView) convertView.findViewById(R.id.iv_delete);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.ivDelete.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {}});viewHolder.tvPhone.setText(mAllData.get(position).getPhone());viewHolder.tvMode.setText("多多岛");return convertView;}}class ViewHolder {TextView tvPhone;TextView tvMode;ImageView ivDelete;}
listview优化方案相关推荐
- ListView流畅度翻倍!Flutter卡顿分析和优化方案
最近因为在做Flutter中相关的性能优化,在收集很多性能数据之后发现ListView组件在一些场景下(例如加载更多)容易引起页面卡顿,看到了闲鱼的Flutter 高性能.多功能的全场景滚动容器.但奈 ...
- Android优化系列之ListView优化老生常谈
本文内容:adapter,listview的优化,RecycleBi,google大会推荐优化, 实现ListView的过程,Adapter起到了至关重要的作用,不仅仅因为getview()方法.那么 ...
- Android App罕见错误和优化方案
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 1.App如果被定义一个有参数构造函数,那么需要再定义一个无参数的,如果不则会在某些情况下初始化失败 ...
- 浅谈Android性能优化方案
经过前一阶段的调查,大概对性能优化已经有了初步的解决方案: 先给大家介绍一下UC公司的性能优化指标以及部分方案: 一.性能优化六项指标: 性能.内存.稳定性.流量.电量.安装包大小: 二.背景 --- ...
- php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...
SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...
- RecyclerView使用 及 滑动时加载图片优化方案
RecyclerView使用 及 滑动时加载图片优化方案 简述 本篇博文主要给大家分享关于RecyclerView控件的使用及通过继承RecyclerView来实现滑动时加载图片的优化方案,也同样能解 ...
- 史上最全Android性能优化方案解析
Android中的性能优分为以下几个方面: 布局优化 网络优化 安装包优化 内存优化 卡顿优化 启动优化 -- 一.布局优化 布局优化的本质就是减少View的层级.常见的布局优化方案如下: 在Line ...
- Android应用优化方案三
Android应用优化方案一 点击进入 Android应用优化方案二 点击进入 Android应用优化方案三 布局优化 布局优化的思想很简单,尽量减少布局的层级,布局层级减少绘制时间就会跟着减少,从而 ...
- Android RecyclerView使用 及 滑动时加载图片优化方案
1.控制线程数量 + 数据分页加载2.重写onScrollStateChanged方法 这个我们后面再谈,下面先来看看RecyclerView控件的使用及我们为什么选择使用它 RecyclerView ...
- TensorRT优化方案图例
TensorRT优化方案图例 图 12. TensorRT 循环由循环边界层设置.数据流只能通过下方式离开循环环输出层. 唯一允许的后边缘是第二个输入递归层. 图 13. 一个 if 条件构造抽象模型 ...
最新文章
- 国产最大AI开源框架再升级:一口气发布9大新产品,顺便送出亿元GPU算力
- JMeter接口测试示例(六)——上传文件
- python去掉列表的括号和逗号_在每行之后显示没有逗号,括号等的python 2d...
- 2017计算机科技贡献奖,2017年度科技创新贡献奖评审结果公布
- 《java设计模式》之责任链模式
- 再说千遍万遍,都不如这四句话管用,不服不行!
- java 多线程两种方式_JAVA多线程实现的两种方式
- C++如何提高程序效率
- 【Google浏览器无法登录账号】为安全起见,您无法从此设备登录。请稍后重试,或从其他设备登录
- C语言段错误-core文件
- 凤凰os 停在android,电脑的安卓系统,凤凰OS:有亮点但还很粗糙的系统
- 毕设讲解之 --- 如何完成小程序毕业设计
- 删除android电视软件下载,【教程】无需root!卸载小米电视/盒子内置应用竟如此简单...
- Verilog写一个对数计算模块Log2(x)
- springboot2.0+springDataJPA报错Could not obtain identifier
- 小人有三种,这种最阴险,最好策略不是硬杠
- 百度mip推送工具_(教程)主动推送(实时)、熊掌号天级/周级提交、MIP提交
- Pandas Task1
- 微营销视频教程免费在线观看
- 香蕉派 Banana pi BPI-R2 开源智能路由器 MTK 7623N 方案设计
热门文章
- 浙江理工大学计算机考研试卷,2016年浙江理工大学计算机程序设计考研试题.pdf...
- c语言答辩ppt案例,c语言ppt例子课题了答辩ppt成品中南民族大学.ppt
- Sakai Demo搭建及遇到的问题汇总
- 吴恩达深度学习课程练习题汇总(第二周)
- WinHex V14.6 SR-2 注册码
- java visio_Visio画UML类图、序列图 for Java
- 计算机常用文献管理工具,工具丨5款常用的文献管理软件
- pycharm生成linux可执行程序,Pycharm生成可执行文件.exe的实现方法
- 二分图完全匹配算法之匈牙利算法
- 计算机原理视频教程星火,计算机组成原理及汇编语言(中央广播电视大学)