关于ListView与Adapter之间的原理问题
1、在手机上滑动listView列表时,adapter是怎么加载布局和数据的,假设列表很长,是一次性加载完还是先只 加载手机屏幕能够容纳的行数?
2、还有为什么我滑动列表,就可以看到下一个列表已经加载好,adapter的缓存机制又是怎么回事?
3、为什么使用holder能够起到缓存的作用,那么它又是基于什么样的原理在adapter中起到缓存的作用呢?
求各位详解??谢谢
[解决办法]
1 adapter 不负责加载数据,只负责数据和view的绑定,数据源自己设定,布局在getview中inflate出来,列表很长,是不是一次性加载完成,看你是否加入了分页逻辑。
2 adapter 本身没有啥缓存机制,实际的缓存机制还依赖于数据源的缓存,至于convertView 依赖于listview 里面对itemview的缓存。
3 holder 其实是个空间换时间的思想,把findViewById的时间给省下来了。这里面只是暂时把itemview 里面的每个元素给缓存了下来。