Android View体系总结

背景

  今天看了无意间看到 《进阶之光》 作者的博客,感觉他总结的体系非常好。从几年前接触 Android 以来,一直都有写笔记或者文章记录的习惯。一直都认为,联想记忆学习是构成强大知识网的有效学习手段,之前也一直尝试分类定义各个知识点,点与点之间通过关联来记忆。从现在起尝试总结下为知及之前总结的知识点,项目技术经验来完善知识体系。

体系认识

如果你是一名刚入门的 Android 开发者,熟悉 API 就是你的必经之路。当你一些基础控件的 API 之后你可能会发现,很多控件的用法(比如设置属性,控制滑动等)都基本一致。如果你是一名进阶的开发者,就应该熟悉并掌握其内部实现原理。

这里所理解的体系分成以下内容。

1
2
3
4
5
6
7
- 每个 Android 版本提供的 View Api 使用
- View 相关的基础常识及使用技巧
- 核心知识点
- View 的事件分发体系 (包含源码解读)
- View 的测量绘制体系 (包含源码解析)
- View Layout加载转化 (包含源码解析)
- View 动画体系 (包含源码解析)

Android 版本提供的组件 API 要求掌握使用并不是说一定要把每个 View 组件都使用一遍并都记下来,善于利用 文档 快速开发才是有效的编程模式。所以只要你看文档能力强,其实熟悉日常开发的那些组件便够了,其他的用到再查看文档就行了,多花点时间看原理性的知识。

基础常识及使用技巧 更多强调的是认知及经验方面。比如说你得熟悉 Android View 的坐标系,你得懂 View 的递归模型。这些对于看源码,解决日常问题有很大的帮助。其次技巧类的知识,这部分你可以通过积累快速开发模型或者其他人分享的经验技巧,多做汇总留存,以后开发的时候直接拿来用,大大提高了效率。

核心知识点是我认为任何一个高级工程师必须掌握的。这部分知识几乎是支撑 View 运作的基础。建议每一个进阶的工程师都把这部分看懂看透,自己内联消化。

知识点链接