Android随笔

       (一些琐碎的内容,不定期更新。)

       从业几年,发现对Android的了解非常浅薄,时常产生盲人摸象的感觉,想深入了解,限于精力、兴趣、学识,确也并不能深入很多。虽如此,有时却也得出一些形而上的东西,或许有用,或许无用,总算是思想的突变,记录下来,或许有用,或许无用。

       软件是硬件和用户之间的桥梁,分析代码的时候,尽可能分离出不同的概念,无需了解细节,只需看清概念间的操作流程。从不同的层次,可以分离出不同的概念粗细粒度。

        软件也是分为很多层次的,如Android系统的分层(Application、Application Framework、Library、Linux等)。通过对某一功能模块的详细解读,了解该功能贯穿的层次之间的通信,就可以举一反三了解其他功能完整的流程了。比如如何获取Framework层的服务、服务如何调用library、如何通过Binder进行IPC通信等等。

        在分析模块代码时经常会陷入到细节里面,跳出细节,从更高的层次看,从概念间如何发生关系来看,或许有助于厘清代码关系。

        软件是用来解决人们的问题,所以它的结构通常也可以映射到社会中来。分析软件代码时,可以善用这种映射,由于人脑的记忆特性,不仅记得牢还理解更深。

       一步登天不可能,只有不停迭代才是王道。软件开发如此,人生亦是如此。





参考文献:

1. Android核心分析 

2. 


你可能感兴趣的:(Android随笔)