Android Studio优化ListView加载数据逻辑

优化ListView加载数据逻辑

当ListView控件在当前屏幕上加载的Item过多并快速滑动该控件时,界面会出现卡顿的现象,出现这个现象的原因如下:
(1)当滑动屏幕时,不断地创建Item对象。ListView空间在当前屏幕上显示多少个Item,就会在适配器MyBaseAdapter中的getView()方法中创建多少Item对象。当滑动ListView控件时,滑出会不断地对Item对象进行销毁和创建。
(2)不断执行findViewById()方法初始化控件。每创建一个Item对象都需要加载一次Item布局,加载布局时不断地执行findViewById()方法初始化控件。这些操作比较耗费设备(模拟器,手机等设备)的内存并且浪费时间,如果每个Item都需要加载网络图片,加载网络图片是个比较耗时的操作,就会造成程序内存溢出的异常。
由于上述两点原因,我们需要对ListView控件进行优化,优化的目的是使ListView控件在快速滑动时不再重复创建Item对象,减少内存的消耗和屏幕渲染的处理。优化的具体步骤如下:
(1)创建ViewHolder类。在MainActivity中创建一个ViewHolder类,将需要加载的控件变量放在该类中,具体代码如下:

class ViewHolder{
	TextView title,price;
	ImageView iv;
}

(2)在MyBaseAdapter的getView(int position,View convertView,ViewGroup parent)方法中convertView代表的就是滑出屏幕的Item对象。这种滑动屏幕就时以缓存的形式存在。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值