您的位置:首页 > 移动开发 > Android开发

【进阶android】ListView源码分析——总述

2015-06-16 10:55 232 查看
纵观android所提供的原生控件,ListView无疑是最受瞩目的控件之一;而如今的android项目,能不涉及到ListView的几乎没有;加之前段时间的几次面试,对ListView的问题不仅仅停留到如何使用,如何优化,更是涉及到其原理;所以,笔者便有了通过其源码进行学习的冲动;然而,ListView的源码接近4000行(android4.4.2)其父类AbsListVIew的源码更是有7200多行之多,所以要将其完全吃透,并非一日之功。

最开始分析ListView的目的是在于,ListView是一个ViewGroup,所以通过其源码对onMeasure、onlayout及onDraw三大方法有一定的认知;此外,ListView的视图重用机制、适配者模式及观察者模式都深深的吸引着笔者;最后也想从源码级来分析ListView的相关优化。

而在大致浏览源码(android4.4.2)一遍后,笔者打算从一下5个方面来学习ListView源码:

1、适配器及观察者;每一个ListVIew都从setAdapter方法开始它的经典,【进阶android】ListView源码分析——适配器及观察者模式

2、onMeasure、onlayout及onDraw三大方法;看看一个ViewGroup的实例,【进阶android】ListView源码分析——布局三大方法

3、ListView的填充方式;此点算是第二点的一个补充,我们将以ListVIew.layoutChildren方法为入口,【进阶android】ListView源码分析——子视图的七种填充方式

4、ListView的重用视图,以ListView.makeAndAddView方法为入口,【进阶android】ListView源码分析——ListView的重用视图机制

5、ListView的滑动机制,以AbsLIstView.onTouchEvent方法为入口,【进阶android】ListView源码分析——ListView的滚动机制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: