关于ListView与Adapter之间的原理问题
1、在手机上滑动listView列表时,adapter是怎么加载布局和数据的,假设列表很长,是一次性加载完还是先只 加载手机屏幕能够容纳的行数?2、还有为什么我滑动列表,就可以看到下一个列表已经加载好,adapter的缓存机制又是怎么回事?
3、为什么使用holder能够起到缓存的作用,那么它又是基于什么样的原理在adapter中起到缓存的作用呢?
求各位详解??谢谢 --------------------编程问答-------------------- 把源码下载下来看一下,更加明白些 --------------------编程问答-------------------- 肯定是一次加载完的。缓存机制就是保存数据咯。。没什么的。 --------------------编程问答-------------------- 应该是全部加载完毕的,你能看到的部分是通过getView方法绘制出当前显示项 --------------------编程问答-------------------- 1 adapter 不负责加载数据,只负责数据和view的绑定,数据源自己设定,布局在getview中inflate出来,列表很长,是不是一次性加载完成,看你是否加入了分页逻辑。
2 adapter 本身没有啥缓存机制,实际的缓存机制还依赖于数据源的缓存,至于convertView 依赖于listview 里面对itemview的缓存。
3 holder 其实是个空间换时间的思想,把findViewById的时间给省下来了。这里面只是暂时把itemview 里面的每个元素给缓存了下来。
补充:移动开发 , Android