Android——ListView的简单优化

原创 2015年11月21日 15:20:35

在重写ListView的自定义Adapter时,之前一般都是通过重写getView()方法返回一个View,在里面一般是先通过LayoutInflater方法获取view,然后在获取View里面的控件,并为这些控件设置属性。这样做在数据很十分多的情况下,进行listView的上下拉动时会重新加载那些已经创建过得view,很浪费资源导致卡顿。
通过一种简单的方法可以有效的解决这个问题:

public View getView(int position,View convertView,ViewGroup){}

在getView中可以先判断当前位置有没有被加载过,即:判断convertView是否为空

  ViewHolder holder;
if(convertView==null){
  //当为空时
  convertView=LayoutInflater.from(getContext()).inflate(R.layout.list_cell,null.false);
  //创建一个静态内部类对象,里面用于记录convertView的所有要被编辑的控件的对象
  holder=new ViewHolder();
  holder.tvName=convertView.findViewById(R.id.tvName);
  .
  .
  .
  等等

  //为这些控件设置属性
  holder.tvName.setText("...");
  .
  .
  .
//通过convertView的setTag(Object ...)保存当前的holder;
 convertView.setTag(holder);
}
else{
//如果当前的convertView已经被加载过了,那么取出holder,重新进行进行属性设置
holder=(ViewHolder)convertView.getTag();
}

android ListView优化之ViewHolder的超简洁写法

一、常规的ViewHolder写法 在android开发中,ListView是经常使用到的一个控件,而为ListView写适配器代码时,我们总是继承BaseAdapter之后,复写其中的getView...
  • yubo_725
  • yubo_725
  • 2014年12月01日 09:10
  • 1576

Android开发之ListView 优化之缓存优化

通过平时对ListView的使用,目前我把ListView的优化分为以下几个方面: 1.缓存优化 2.数据优化 3.其他方面优化 0.未优化简单代码 public class MainActivi...
  • u013278940
  • u013278940
  • 2016年10月25日 16:51
  • 709

Android性能优化之提高ListView性能的技巧

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。...
  • nugongahou110
  • nugongahou110
  • 2015年07月29日 15:13
  • 13688

Android性能优化--listview 优化机制

详情参考:http://www.cnblogs.com/Android-xiansheng/p/4627124.html 首先来了解一下ListView的工作原理(可参见http://mobil...
  • u010921385
  • u010921385
  • 2016年09月04日 22:12
  • 4416

【Android优化】最强ListView优化方案

convertView重用,ViewHolder优化,图片加载优化,onClickListener处理,减少Item View的布局层级,adapter中的getView方法尽量少使用逻辑,adapt...
  • s003603u
  • s003603u
  • 2015年08月03日 23:35
  • 6314

一步步学ListView(1):创建一个最简单的ListView

一步步学ListView(1):创建一个最简单的ListView什么是ListView?ListView是在android开发中使用得相当频繁的一个控件,它的作用是用来展示一组可滚动的列表条目。列表中...
  • tingjian_chen
  • tingjian_chen
  • 2015年07月22日 09:07
  • 3501

Android之——ListView优化

作为客户端,其最主要的任务就是最直观的和用户交互。从服务器拿数据,解析过后显示数据,根据用户操作按照一定的协议传回数据,达到用户想要的结果。这是我自己的理解,所以我们的程序,必须给用户一个良好的体验。...
  • l1028386804
  • l1028386804
  • 2015年08月02日 18:10
  • 2321

Android-ListView优化常见的三种方式

优化原理 使用ListView时尽可能的少去执行Layout的Inflate,只渲染和布置那些在可视范围内,或者即将出现在可视范围内的Item 第一 Layout的Inflate是消耗资...
  • u014657752
  • u014657752
  • 2015年08月09日 20:59
  • 1276

Android性能优化之Listview(ViewHolder重用机制)

相信大家在很多时候都会用到ListView这个控件,因为确实是用的很多很多,但是有木有遇到过当数据很多很多的时候,往下滑ListView时有时候会卡顿,这就需要我们来优化它了。 ListVi...
  • u010687392
  • u010687392
  • 2015年05月10日 14:11
  • 5369

浅谈Android中的异步加载之ListView中图片的缓存及优化三

隔了很久没写博客,现在必须快速脉动回来。今天我还是接着上一个多线程中的异步加载系列中的最后一个使用异步加载实现ListView中的图片缓存及其优化。具体来说这次是一个综合Demo.但是个人觉得里面还算...
  • u013064109
  • u013064109
  • 2016年06月25日 02:56
  • 6454
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android——ListView的简单优化
举报原因:
原因补充:

(最多只允许输入30个字)