Android性能优化-ListView优化

Android性能优化-ListView优化

关于Android性能优化-ListView优化的讨论正在各大平台持续发酵,我们精心筛选了最新资讯 ,希望能为您带来实质性的帮助。

ListView的优化主要分为以下几点

ListView每次滚动都会调用 getView 方法,所以优化 getVieiw 是重中之重

convertView 是刚刚滚动出可见区域的View的引用,此时它已经不可见,所以应该被复用以减少View的创建

LayoutInflater.inflate(resourceId,View) 这个方法是用来通过pull的解析方式从XML文件生成一个View对象的,如果有成千上万

个Viwe都要去解析XML生成View,会非常消耗性能

viewHolder

Android性能优化-ListView优化

findViewById这个方法是从ViewGroup的子View里面循环遍历找id与给出的ID相同的子View,还是比较耗时的,

加载顺序,应该为, 内存--本地--网络

主要写一下缓存到内存中的方法,

据说以前使用HashMap<String,SoftReference<BitMap>>的方法缓存,不过不好用了,现在大多都用

LruCache,

Android性能优化-ListView优化

从网络加载或者本地加载都比较耗时,加上Android16ms的刷新UI频率,会造成卡顿

从内存获取速度相对较快,以上只是放入内存的方法,当然压缩什么的就没有写,只是简单介绍存入内存的原理

很多情况下ListView需要加载显示网络,我们尽量不要在ListView滑动的时候加载网络,

那样会使ListView变得卡顿所以我们要监听ListView的状态,如果ListView滑动( SCROLL_STATE_TOUCH_SCROLL )

或者猛滑( SCROLL_STATE_FLING )的时候,停止加载,否则加载

Android性能优化-ListView优化

从用户的角度讲,快速滑动的时候,用户不需要看到当前内容

有时候出了 onItemClickListener 之外我们还会用到Item上其他位置的点击事件

一般情况下我们是在getView方法中,一个一个设置,就像

这样每个都设置了一个新的OnClickListener对象,不太好

直接在ViewHolder中设置一个position,然后viewHolder implements OnClickListener

然后再getView中设置的时候设置自己就行了

总之,宗旨就是少在getView里面new对象,做耗时操作

关于Android性能优化-ListView优化的相关内容介绍到此告一段落 ,若这些信息对您有所启发,欢迎持续关注本站获取更多优质内容 。

赞 (3)
上一篇 2026年10月04日 02:32
下一篇 2026年10月04日 02:44

猜你喜欢

发表回复

登录后才能评论

评论列表(3条)

  • 全成化学的头像
    全成化学 2026年10月04日 02:40

    我是全成化学的签约作者“全成化学”

  • 全成化学的头像
    全成化学 2026年10月04日 02:40

    本文概览:关于Android性能优化-ListView优化的讨论正在各大平台持续发酵,我们精心筛选了最新资讯,希望能为您带来实质性的帮助。ListV...

  • 用户100402的头像
    用户100402 2026年10月04日 02:40

    文章不错《Android性能优化-ListView优化》内容很有帮助

联系我们

400-800-8888

在线咨询: 点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信