【Android进阶】ListView的显示与缓存机制

来源:互联网 发布:傲世堂 java 编辑:程序博客网 时间:2024/05/02 15:59

ListView是Android UI控件里很重要的一个控件。它可以很直观方便地展示一组数据,在实际应用中非常广泛。下面介绍一下ListView的显示与缓存机制。

下面是一张ListView显示缓存机制的原理图:
这里写图片描述

  • 第1部分是一台手机正常显示ListView时的情况,因为手机高度有限,所以显示的数据不会太多,这里显示了7条数据;同样,因为手机内存资源有限,ListView也不会一次性就把所有数据全部加载完毕等着你滑,它只会加载一个屏幕上所能够显示的部分;

  • 第2部分是当我们往上滑动时,item1被移动到了屏幕外,此时它已不可见,所以系统将其放入了View缓冲池Recycler中;

  • 同时item8需要被加载,所以系统从Recycler缓冲区里取出了布局并且为其填充了数据,显示了Item8,这就成了第3部分。

综上,ListView的显示缓存机制就是需要显示才显示,显示完就收回去,这种即需即取的缓存机制极大地节省了系统资源,从而可以让ListView显示成千上万的数据。

2 0