优化方向: 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优化方案相关推荐

  1. ListView流畅度翻倍!Flutter卡顿分析和优化方案

    最近因为在做Flutter中相关的性能优化,在收集很多性能数据之后发现ListView组件在一些场景下(例如加载更多)容易引起页面卡顿,看到了闲鱼的Flutter 高性能.多功能的全场景滚动容器.但奈 ...

  2. Android优化系列之ListView优化老生常谈

    本文内容:adapter,listview的优化,RecycleBi,google大会推荐优化, 实现ListView的过程,Adapter起到了至关重要的作用,不仅仅因为getview()方法.那么 ...

  3. Android App罕见错误和优化方案

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 1.App如果被定义一个有参数构造函数,那么需要再定义一个无参数的,如果不则会在某些情况下初始化失败 ...

  4. 浅谈Android性能优化方案

    经过前一阶段的调查,大概对性能优化已经有了初步的解决方案: 先给大家介绍一下UC公司的性能优化指标以及部分方案: 一.性能优化六项指标: 性能.内存.稳定性.流量.电量.安装包大小: 二.背景 --- ...

  5. php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...

    SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...

  6. RecyclerView使用 及 滑动时加载图片优化方案

    RecyclerView使用 及 滑动时加载图片优化方案 简述 本篇博文主要给大家分享关于RecyclerView控件的使用及通过继承RecyclerView来实现滑动时加载图片的优化方案,也同样能解 ...

  7. 史上最全Android性能优化方案解析

    Android中的性能优分为以下几个方面: 布局优化 网络优化 安装包优化 内存优化 卡顿优化 启动优化 -- 一.布局优化 布局优化的本质就是减少View的层级.常见的布局优化方案如下: 在Line ...

  8. Android应用优化方案三

    Android应用优化方案一 点击进入 Android应用优化方案二 点击进入 Android应用优化方案三 布局优化 布局优化的思想很简单,尽量减少布局的层级,布局层级减少绘制时间就会跟着减少,从而 ...

  9. Android RecyclerView使用 及 滑动时加载图片优化方案

    1.控制线程数量 + 数据分页加载2.重写onScrollStateChanged方法 这个我们后面再谈,下面先来看看RecyclerView控件的使用及我们为什么选择使用它 RecyclerView ...

  10. TensorRT优化方案图例

    TensorRT优化方案图例 图 12. TensorRT 循环由循环边界层设置.数据流只能通过下方式离开循环环输出层. 唯一允许的后边缘是第二个输入递归层. 图 13. 一个 if 条件构造抽象模型 ...

最新文章

  1. 国产最大AI开源框架再升级:一口气发布9大新产品,顺便送出亿元GPU算力
  2. JMeter接口测试示例(六)——上传文件
  3. python去掉列表的括号和逗号_在每行之后显示没有逗号,括号等的python 2d...
  4. 2017计算机科技贡献奖,2017年度科技创新贡献奖评审结果公布
  5. 《java设计模式》之责任链模式
  6. 再说千遍万遍,都不如这四句话管用,不服不行!
  7. java 多线程两种方式_JAVA多线程实现的两种方式
  8. C++如何提高程序效率
  9. 【Google浏览器无法登录账号】为安全起见,您无法从此设备登录。请稍后重试,或从其他设备登录
  10. C语言段错误-core文件
  11. 凤凰os 停在android,电脑的安卓系统,凤凰OS:有亮点但还很粗糙的系统
  12. 毕设讲解之 --- 如何完成小程序毕业设计
  13. 删除android电视软件下载,【教程】无需root!卸载小米电视/盒子内置应用竟如此简单...
  14. Verilog写一个对数计算模块Log2(x)
  15. springboot2.0+springDataJPA报错Could not obtain identifier
  16. 小人有三种,这种最阴险,最好策略不是硬杠
  17. 百度mip推送工具_(教程)主动推送(实时)、熊掌号天级/周级提交、MIP提交
  18. Pandas Task1
  19. 微营销视频教程免费在线观看
  20. 香蕉派 Banana pi BPI-R2 开源智能路由器 MTK 7623N 方案设计

热门文章

  1. 浙江理工大学计算机考研试卷,2016年浙江理工大学计算机程序设计考研试题.pdf...
  2. c语言答辩ppt案例,c语言ppt例子课题了答辩ppt成品中南民族大学.ppt
  3. Sakai Demo搭建及遇到的问题汇总
  4. 吴恩达深度学习课程练习题汇总(第二周)
  5. WinHex V14.6 SR-2 注册码
  6. java visio_Visio画UML类图、序列图 for Java
  7. 计算机常用文献管理工具,工具丨5款常用的文献管理软件
  8. pycharm生成linux可执行程序,Pycharm生成可执行文件.exe的实现方法
  9. 二分图完全匹配算法之匈牙利算法
  10. 计算机原理视频教程星火,计算机组成原理及汇编语言(中央广播电视大学)