Android ListView性能优化,异步加载图片

ListView性能优化+异步加载图片

一、绪论

相信大家在Android开发中肯定会经常用到ListView吧,那么怎么优化ListView呢?尤其是每个item里面中还有图片需要加载,数据源比较多,如果处理不好的话,在滑动ListView的过程中肯定会遇到卡顿的现象,做了这么久的开发,自己多少也摸索到了一些规律,接下来就给大家详细的介绍一下ListView的性能优化。

二、思路:

1.利用ViewHolder

我们自己定义一个ViewHolder,存放我们item中的组件,减少不必要的findViewById(),把我们的控件引用存在里面,利用view.setTag()存放在view里面,下次就可以直接取了。说一下setTag()是干什么用的吧,就是给View一个标签,下次getView()的时候我们可以根据标签获取这个View,如果标签存在了,就不需要再创建了,也就不再需要重新初始化那些组件了。

2.异步加载图片

我们在ListView中异步加载图片,可以使用一些第三方API来加载图片,比较好用的是ImageLoader,Xutils里面的BitmapUtils也可以。

3.设置LitView滑动时禁止加载图片

如果我们在滑动ListView的时候也要加载图片,那么滑动时肯定会卡顿

三、详解:

1.定义ListView

我们先看一下布局,item的每一项内容
<span style="font-size:14px;"><span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:paddingBottom="@dimen/middler_space"
              android:background="#fff"
              android:id="@+id/llImage"
        >
        <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <ImageView
                        android:id="@+id/image"
                        android:layout_width="40dp"
                        android:layout_height="40dp"
                        android:background="#cccccc"
                        android:layout_marginLeft="15dp"
                        android:adjustViewBounds="true"
                        android:scaleType="fitXY"
                        android:focusable="false"
                        android:layout_marginTop="@dimen/middler_space"
                        />
                <ImageView
                        android:layout_marginTop="@dimen/middler_space"
                        android:id="@+id/iv_filelist_vedio"
                        android:src="@d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值