【进阶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的滚动机制;
最开始分析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的滚动机制;
相关文章推荐
- Android代码jar打包Library项目整合
- Android Studio--Gradle多渠道打包
- android audio
- Android 事件分发机制
- Android内存优化之封装九宫格
- iOS通关书单,Android可入
- android 不透明度16进制值
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- shape文件用法一:在Android中,用XML文件来设置颜色的渐变
- android 监听系统时区变化,日期变化,时间变化
- Android设备各种使用尺寸整理
- android闹钟实现原理
- android自动化测试解决跨进程通信问题
- android按钮旋转简单实现
- Android webView 实现与JS
- [Android] AS 中 Gradle 配置运行浅析
- [Android] 环境配置之Android Studio开发NDK
- Android Studio Rendering Problems不能显示xxx.xml布局文件
- Android:控件AutoCompleteTextView 自动提示
- android sdk 原版 百度盘分享