ListView的优化原理

来源:互联网 发布:意大利航空 知乎 编辑:程序博客网 时间:2024/05/18 09:07

  • ListView是一个显示一些滑动的列表项的视图组,列表项自动插入到列表中,通过Adapter把数组或数据库中的内容显示出来,并且把每一项结果转换成一个能放在列表里的View
  • Adapter的作用是把date显示到UI当中,它是date和UI的一个中介,便于理解,它们之间的关系图如下:  
  • ListView的优化:
    • 保持滑动屏幕流畅的关键就是不要在UI线程(主线程)里有大量的运算,把UI线程中耗时的操作放到其他线程中去
    • 使用ListView滑动会多次使用到findViewById(),这会降低性能,如果使用Adapter并且重写了getView()方法,如果一个项目有多个xxxAdapter类,你都要在其中去更新getView()里面的东西,而避免频繁调用findViewById()的方法之一就是使用ViewHolder(ViewHolder此处理解为一种设计模式)
    • 使用ViewHolder的原理:
      1. 创建一个类存储你将使用的视图:    
        •           
      2. 在layout的类中生成一个ViewHolder对象:
    • 一个ViewHolder对象存储了他的layout下的每个View,这样就不用频繁调用findViewById()方法,可以把ViewHolder理解为存储视图的一个存储器,如果有需要的时候就用它,而不是每次通过findViewById()去在布局文件layout中找View
0 0
原创粉丝点击