Android中Listview展示及其优化好处

展示效果:

中间的item条目是可以上下滑动的。

代码实现:

 1     @Override
 2         public View getView(int position, View convertView, ViewGroup parent) {
 3
 4             ViewHolder holder;
 5             if (convertView == null) {
 6                 convertView = View.inflate(CleanCacheActivity.this,
 7                         R.layout.list_item_cacheinfo, null);
 8                 holder = new ViewHolder();
 9
10                 holder.tvName = (TextView) convertView
11                         .findViewById(R.id.tv_name);
12                 holder.tvCache = (TextView) convertView
13                         .findViewById(R.id.tv_cache);
14                 holder.ivIcon = (ImageView) convertView
15                         .findViewById(R.id.iv_icon);
16                 holder.ivClean = (ImageView) convertView
17                         .findViewById(R.id.iv_clean);
18
19                 convertView.setTag(holder);
20             } else {
21                 holder = (ViewHolder) convertView.getTag();
22             }
23             final CacheInfo info = getItem(position);
24             holder.tvName.setText(info.name);
25             holder.ivIcon.setImageDrawable(info.icon);26        //......27         return convertView;28     }
 1     // listview 属性封装
 2     class ViewHolder {
 3         public TextView tvName;
 4         public TextView tvCache;
 5         public ImageView ivIcon;
 6         public ImageView ivClean;
 7     }
 8
 9     // 缓存信息封装
10     class CacheInfo {
11         public String name;
12         public String packageName;
13         public Drawable icon;
14         public long cacheSize;
15     }

优化特点:

1.

  减少findViewById的次数

2.

  减少创建对象的次数(holder = new ViewHolder();)

3.

  实现分页加载,节省消耗。

时间: 2024-10-12 06:21:44

Android中Listview展示及其优化好处的相关文章

由浅入深讲解android开发中listview的性能优化

ListView是一种可以显示一系列项目并能进行滚动显示的View.在每行里,既可以是简单的文本,也可以是复杂的结构.一般情况下,你都需要保证ListView运行得很好(即:渲染更快,滚动流畅).在接下来的内容里,我将就ListView的使用,向大家提供几种解决不同性能问题的解决方案. 如果你想使用ListView,你就不得不使用ListAdapter来显示内容.SDK中,已经有了几种简单实现的Adapter: ·         ArrayAdapter<T> (显示数组对象,使用toStr

Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案

Android中ListView异步加载图片错位.重复.闪烁问题分析及解决方案 我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如ListView上有100个Item,一屏只显示10个Item,我们知道getView()中convertView是用来复用View对象的,因为一个Item的对应一个View对象,而ImageView控件就是View对象通

Android中ListView字母排序,实现字母挤压效果以及右侧快速选中字母,搜索关键字功能

Android中ListView字母排序,实现字母挤压效果以及右侧快速选中字母,搜索关键字功能 本文中阐述如何自定义EditText实现搜索框自定义的样式以及挤压字母的思路等 自定义EditText 相关的drawable文件 主界面以及相关的适配器 结果展示 定义要呈现的EditText的样式 public class ClearEditText extends EditText implements OnFocusChangeListener, TextWatcher { /** * 定义删

Android中ListView分类

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "fill_parent" android:layo

android中listview点击事件失效的灵异事件

首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAdapter的adapter来适应listview)将listview的item覆盖了.现在点击的只是自定义的adapter中的convertView. 其次,自定义的adapter中包含一个ImageView和二个TextView.代码如下: <?xml version="1.0" e

Android中ListView的addFooterView不显示的问题

mListView.addFooterView(btn_more, null, false); mListView.setAdapter(mBlogListAdapter); 把addFootView放在setAdapter之前就可解决. Android中ListView的addFooterView不显示的问题

Android中ListView选中时的黄色底色

Android的ListView中默认选中时底色为黄色,如何去掉呢 其中会用到一个属性: android:listSelector="#00000000" 这样就行了 Android中ListView选中时的黄色底色

Android中ListView的几种常见的优化方法

Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapter类,我们这里都继承自BaseAdapter,这里我们使用一个包含100个字符串的List集合来作为ListView的项目所要显示的内容,每一个条目都是一个自定义的组件,这个组件中只包含一个textview: Activity: package com.alexchen.listviewoptimi

Android中listView的下拉加载功能实现

今天给大家讲讲android开发中比较常见的listView的下拉加载,其实也可以叫做分页加载.为什么会有这个叫法呢?说说我的理解吧! 从字面上很好理解.当你滑动一个列表到底部的时候,这个时候就会出现正在加载的底部加载布局去加载更多的数据.这里拿微信作为一个例子,如下图所示: 如上图所示红色方框的部分就是底部的加载布局.从一定程度上这样做是必要的,为了优化用户的体验.你可以想想,假如你点开微信的朋友圈的时候,如果没有做分页加载,那么你需要等待很久的时间才能够看到你和朋友发的一些状态.这是因为这个