Android核心分析 --分析方法论探讨之设计意图

为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android软件系统部分,而不是Dalvik虚拟机本身。

作为一个从其他平台装接过来的程序员,要从事Andoid平台系统开发,我的关于手机平台上积累的知识已经不能满足需要了,Android为我们带来了大量的新名词,ActivityManifestINTENTServiceBinderDalvik虚拟机,FrameworkLinuxNavtive JNI.....。通过在源代码,在开发社区,在开发博客,甚至在招聘过程中,我不断的寻求Android是什么。经过一定时间的沉淀,我慢慢的理解到Android不仅仅是一类手机的总称,不仅仅是一个手机开发平台,不仅仅是一个虚拟java操作系统,不仅仅是一个开发社区,一个开发标准,不仅仅是一堆代码,Android已经成了一个新的潮流。

代码多,系统复杂,纵观社区中Android的研究者,一开始从源代码分析Android就走向迷途,不断的跋山涉水,向纵深冲刺,最终脑袋堆栈不够用,迷失在开始的旅程,或者挂在半途中,鲜有通达者。我感觉到大部分的研究者总是忘记站在高山上向下望一望设计者的意图,一味的随着代码的控制流走入繁杂的谜团,陷入到复杂性的深渊。

我的研究分析是从设计者的意图出发,从抽象的甚至从哲学的高度,从最简单的系统原型开始,从设计猜想开始,而不是一开始就从代码分析展开。首先理解Android大的运行框架,主干流程,系统原型,之后再用源代码分析充实之。当然我这里的设计者意图并不是真正的Android设计者意图,而是我以为的Android设计者意图。

要理解设计者意图,就需要抽象。我们需要在哲学意义空间中去考虑系统的描述,即系统在本质上要表达什么。在逻辑空间上去考虑系统基本构成和动态结构。从现实到虚拟对象的映射去理解系统对象的组成,在从数据流的角度分析数据的产生者和消费者之间作用关系,从控制流的角度去分析对象之间的交互关系,从函数调用去分析具体的层次关系。

 

在系统设计上,原型是最能表达哲学空间和逻辑空间中系统本质的东西,原型是事物本质的第一层体现。我以为任何复杂的系统都一个简洁的系统原型,都有它简洁的意义。系统原型是设计者意图的第一体现,所以我们需要从几个方向上去提炼系统原型:

1)从系统本质和基本原理出发

2)从分析系统数据流和控制流分析出发。

 

从设计者意图出发,得出系统原型,提取到大的逻辑结构和系统构成是第一步。之后我们可以从设计者的角度考虑系统猜想系统设计,为什么要这样设计,为什么要有这些构成。这样的基本原型是什么?系统的限制是什么,应用场景有哪些,有些设计的引进还是系统收敛性而为之呢。我们还可以从代码痕迹上去分析,这些概念是如何的得来的?从一定的抽象和高度去理解这些问题,遵循系统原型出发之原则,在深入分析代码的时候,就不容易陷入细节中。我们就可以随时跳出来想,这些代码在整体上载表达一个什么概念,在描绘一个什么逻辑,他要构成一个虚拟层吗?他是在管理这个硬件吗?他在 虚拟这个对象吗?他在构建管理机构?还是在构建一个对象管理?空间管理,为了快速引入了什么样的复杂算法,实际上的原型算法应该是什么样的?

只有深入到这个抽象层次,我们才能很好的把握住系统的每一条线,每一个对象的意义。只用从原型出发,我们才能把握住这个系统的实质所在,在干什么?他要表达什么?设计者为什么要这样想?最终极的想法是什么?这样,代码分析就变得简单明了,读代码就变成了是在印证猜想,修正方向。

Android 核心分析 之一--------分析方法论探讨设计意图.......................................... 1 Android 核心分析 之二 -------方法论探讨之概念空间篇..............................................3 Android 是什么 之三-------手机之硬件形态.....................................................................5 Android 核心分析之四 ---手机的软件形态...................................................................... 6 Android 核心分析 之五 -----基本空间划分.................................................................... 7 Android 核心分析 之六 -----IPC 框架分析 Binder,Service,Service manager..... 11 Android 核心分析 之七------Service 深入分析..............................................................21 Android 核心分析 之八------Android 启动过程详解................................................... 31 Android 核心分析 之九-------Zygote Service.................................................................. 36 Android 核心分析 之十-------Android GWES 之基本原理篇.......................................40 Android 核心分析 之十一-------Android GWES 之消息系统.......................................43 Android 核心分析(12) -----Android GEWS 窗口管理之基本架构原理...................... 48 Android 核心分析(13) -----Android GWES 之 Android 窗口管理............................... 50 Android 核心分析(14)------ Android GWES 之输入系统..........................................57 Android 核心分析(15)--------Android 输入系统之输入路径详解.............................. 59 Android 核心分析(16)-----Android 电话系统-概述篇...............................................66 Android 核心分析(17) ------电话系统之 rilD............................................................ 69 Android 核心分析(18)-----Android 电话系统之 RIL-Java........................................ 76 Android 核心分析(19)----电话系统之 GSMCallTacker.............................................84 Android 核心分析(20)----Android 应用程序框架之无边界设计意图....................... 87 Android 核心分析(21)----Android 应用框架之 AndroidApplication....................... 88 Android 核心分析(22)-----Android 应用框架之 Activity..........................................93 Android 核心分析(24)-----Android GDI 之显示缓冲管理.........................................104 Android 核心分析(25)------Android GDI 之共享缓冲区机制................................ 112 Android 核心分析(26)-----Android GDI 之 SurfaceFlinger..................................... 116 Android 核心分析(27)-----Android GDI 之 SurfaceFlinger 之动态结构示意图..123 Android 核心分析(28)-----Android GDI 之 Surface&Canvas..................................126
android核心分析,介绍了android的一些特性,共二十几个介绍点,网上word文件转化为pdf,便于阅读 Android核心分析(01)----讨之设计意图 Android核心分析(02)----方法论探讨之概念空间篇 Android核心分析(03)----手机之硬件形态 Android核心分析(04)----手机的软件形态 Android核心分析(05)----基本空间划分 Android核心分析(06)----IPC框架分析 Android核心分析(07)----Service深入分析 Android核心分析(08)----Android 启动过程详解 Android核心分析(09)----Zygote Service Android核心分析(10)----Android GWES之基本原理篇 Android核心分析(11)----Android GWES之消息系统 Android核心分析(12)----Android GEWS窗口管理之基本架构原理.. Android核心分析(13)----Android GWES之Android窗口管理 Android核心分析(14)----Android GWES之输入系统 Android核心分析(15)----Android输入系统之输入路径详解 Android核心分析(16)----Android电话系统-概述篇 Android核心分析(17)----电话系统之rilD Android核心分析(18)----Android电话系统之RIL-Java Android核心分析(19)----电话系统之GSMCallTacker Android核心分析(20)----Android应用程序框架之无边界设计意图. Android核心分析(21)----Android应用框架之AndroidApplication. Android核心分析(22)----Android应用框架之Activity Android核心分析(23)----Andoird GDI之基本原理及其总体框架 Android核心分析(24)----Android GDI之显示缓冲管理 Android核心分析(25)----Android GDI之共享缓冲区机制 Android核心分析(26)----Android GDI之SurfaceFlinger Android核心分析(27)----Android GDI SurfaceFlinger之动态结构示意图 Android核心分析(28)----Android GDI之Surface&Canvas;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值