优化原理
使用ListView时尽可能的少去执行Layout的Inflate,只渲染和布置那些在可视范围内,或者即将出现在可视范围内的Item
第一
Layout的Inflate是消耗资源巨大的代码。即使,Layout文件已经被高效的解析程序转换为了二进制代码。Infalte操作依旧需要彻底包含整个XML代码树,而且还要实例化相应的View。在Android 的源码中,ListView通过View回收机制解决了这个问题。这样就可以非常简单的通过可回收的View设置每个Item的内容。而不用,为每一个Item都Inflate Layout 。
第二
通过ListView的View回收机制。在可视范围上面或者下面的View加入到回收池中。当在可视范围内的View被移出可视范围内时,其也会被添加到回收池中。以这种方式ListView只需占用非常少的内存几可以存储可视范围内的View和回收池中的View。ListView的View回收机制以两种不同的方式提供可回收的View即从上往下提供,和从下往上提供。采取何