美文网首页Android开发
Android中ListView优化

Android中ListView优化

作者: RunHuaOil | 来源:发表于2016-09-26 19:04 被阅读198次

内容来源与《第一行代码》

在 getView 方法中优化


我们在使用ListView显示数据时需要用到适配器,这里我们用的是 ArrayAdapter , 这里举例用的是显示水果的图片以及名称,如下所示:

首先创建一个适配器来继承于ArrayAdapter,就叫 FruitAdapter,并重写父类的 getView 方法。在这个方法里面对我们自定义的 Item 进行绘制,系统加载一条一条Item时,都会执行 getView 方法,所有我们的优化也选择在此方法中。未优化之前的代码如下:

系统每次运行getView方法时都会设置 item 的布局,重新获取控件的ID,ListView的item离开可视区域再重新进入又会重新绘制,好在getView的第二个参数 convertView 就是用来缓存view的,假如我们的view已经绘制过,那么在 convertView中就存储对应的view;而反复获取控件ID的解决方法可以利用view的 setTag 方法来存储控件ID,控件ID与对应view捆绑起来,当view存在缓存而不用重新创建时,从view 中用 getTag 方法获取控件ID来做赋值操作。优化后代码如下:

每次进入 getView 时判断 convertView 是否为空来决定是否重新绘制,这里创建一个 ViewHolder 类来存储控件ID,最后通过 view.setTag 方法将该类存储进去。

通过这两个技巧,ListView的性能也就上去了


该项目的GitHub:https://github.com/RunHuaOil/AndroidPractice/tree/master/ListViewTest

相关文章

  • Android性能优化-ListView优化

    Android性能优化-ListView ListView的优化主要分为以下几点 1 convertView的复用...

  • Android中ListView优化

    内容来源与《第一行代码》 在 getView 方法中优化 我们在使用ListView显示数据时需要用到适配器,这里...

  • 6

    结构 1:Android中数据库的创建 2:ListView的优化 3:数据库的分页查询以及ListView分页展示

  • Android ListView优化之局部刷新(更新)(非not

    Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)

  • Android开发艺术探索之性能优化笔记

    Android性能优化 一,优化内容 布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView优化、Bit...

  • Android性能优化

    Android性能优化包括布局优化、绘制优化、内存优化、线程优化、响应速度优化、Bitmap优化和ListView...

  • MS(4):Android之性能优化篇

    六、性能及优化 1、App优化之性能分析工具 Android App优化之性能分析工具 2、ListView优化 ...

  • android ListView优化

    android listView优化关键点 属性设置:取消快速滚动对图片缓存; adapter优化; 布局文件:布...

  • android性能优化

    android 性能优化主要包含了以下几个方面: 布局优化 绘制优化 避免内存泄漏 提高响应速度 Listview...

  • 1.1 ListView使用技巧

    Android高级进阶学习笔记》第1个知识点:ListView使用技巧 目录 1、ListView常用优化技巧 1...

网友评论

    本文标题:Android中ListView优化

    本文链接:https://www.haomeiwen.com/subject/iljqyttx.html