想来想去,如果能做到如下几点,用比较符合人脑认知事物的方式,还是可以的:
说起来容易,但是做起来可能会遇到各种困难,所以这次分析 Android 源码,也是一次锻炼表达能力的机会。第一点容易理解,第二点有点像比较流行的"情景分析”。
- 尽量以图形方式来表示代码的运行过程
- 以需求驱动学习
想想我们学习 Android 的目的,其实就是为了能够灵活地驾驭这个系统,使它满足各种市场需求,所以学习并不是目的,使用才是。这就产生了这次分析源码的一个策略:“不求甚解”。并不是说遇到问题不去搞懂,而是说重点在于应用,对于一些较底层的库,如果真的没有需要弄清原理的话,那就只表明功能即可,这也能让我们少牺牲一些脑细胞。
真个分析过程将沿着两条线索走下去。一条是系统的启动过程,另一条则是用户的交互过程。