没有合适的资源?快使用搜索试试~ 我知道了~
Android核心分析.doc
5星 · 超过95%的资源 需积分: 9 7 下载量 16 浏览量
2011-07-20
15:39:10
上传
评论
收藏 3.47MB DOC 举报
温馨提示
试读
64页
Android核心分析.docAndroid核心分析.docAndroid核心分析.docAndroid核心分析.doc
资源推荐
资源详情
资源评论
安卓巴士(www.apkbus.com)
Android 核心分析(01)----讨之设计意图...............................................................................................................2
Android 核心分析(02)----方法论探讨之概念空间篇..........................................................................................4
Android 核心分析(03)----手机之硬件形态...........................................................................................................7
Android 核心分析(04)----手机的软件形态...........................................................................................................9
Android 核心分析(05)----基本空间划分.............................................................................................................10
Android 核心分析(06)----IPC 框架分析..............................................................................................................14
Android 核心分析(07)----Service 深入分析........................................................................................................21
Android 核心分析(08)----Android 启动过程详解..............................................................................................28
Android 核心分析(09)----Zygote Service............................................................................................................32
Android 核心分析(10)----Android GWES 之基本原理篇..................................................................................35
Android 核心分析(11)----Android GWES 之消息系统......................................................................................38
Android 核心分析(12)----Android GEWS 窗口管理之基本架构原理..............................................................43
Android 核心分析(13)----Android GWES 之 Android 窗口管理.......................................................................45
Android 核心分析(14)----Android GWES 之输入系统......................................................................................53
Android 核心分析(15)----Android 输入系统之输入路径详解..........................................................................56
Android 核心分析(16)----Android 电话系统-概述篇.........................................................................................63
Android 核心分析(17)----Android 电话系统之 rilD...........................................................................................66
Android 核心分析(18)----Android 电话系统之 RIL-Java...................................................................................72
Android 核心分析(19)----Android 电话系统之 GSMCallTacker.......................................................................80
Android 核心分析(20)----Android 应用框架之无边界设计意图......................................................................83
Android 核心分析(21)----Android 应用框架之 AndroidApplication.................................................................85
Android 核心分析(22)----Android 应用框架之 Activity....................................................................................91
Android 核心分析(23)----Andoird GDI 之基本原理及其总体框架..................................................................98
Android 核心分析(24)----Android GDI 之显示缓冲管理................................................................................101
Android 核心分析(25)----Android GDI 之共享缓冲区机制............................................................................107
Android 核心分析(26)----Android GDI 之 SurfaceFlinger................................................................................111
Android 核心分析(27)----Android GDI SurfaceFlinger 之动态结构示意图...................................................120
Android 核心分析(28)----Android GDI 之 Surface&Canvas............................................................................123
第 1 页 共 124 页
安卓巴士(www.apkbus.com)
Android 核心分析(01)----讨之设计意图
为什么要研究 ,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴
望理解这种复杂性。我研究的对象是作为手机开发平台的 软件系统部分,而不是 虚拟机
本身。
作为一个从其他平台装接过来的程序员,要从事 平台系统开发,我的关于手机平台上积累的
知 识 已 经 不 能 满 足 需 要 了 , 为 我 们 带 来 了 大 量 的 新 名 词 ,
, , , , , 虚 拟 机 , , ,
, 。通过在源代码,在开发社区,在开发博客,甚至在招聘过程中,我不断的寻求 是什么。
经过一定时间的沉淀,我慢慢的理解到 不仅仅是一类手机的总称,不仅仅是一个手机开发平台,
不仅仅是一个虚拟 ! 操作系统,不仅仅是一个开发社区,一个开发标准,不仅仅是一堆代码,
已经成了一个新的潮流。
代码多,系统复杂,纵观社区中 的研究者,一开始从源代码分析 就走向迷途,不断
的跋山涉水,向纵深冲刺,最终脑袋堆栈不够用,迷失在开始的旅程,或者挂在半途中,鲜有通达者。
我感觉到大部分的研究者总是忘记站在高山上向下望一望设计者的意图,一味的随着代码的控制流走入
繁杂的谜团,陷入到复杂性的深渊。
我的研究分析是从设计者的意图出发,从抽象的甚至从哲学的高度,从最简单的系统原型开始,从
设计猜想开始,而不是一开始就从代码分析展开。首先理解 大的运行框架,主干流程,系统原型,
之后再用源代码分析充实之。当然我这里的设计者意图并不是真正的 设计者意图,而是我以为的
设计者意图。
要理解设计者意图,就需要抽象。我们需要在哲学意义空间中去考虑系统的描述,即系统在本质上
要表达什么。在逻辑空间上去考虑系统基本构成和动态结构。从现实到虚拟对象的映射去理解系统对象
的组成,在从数据流的角度分析数据的产生者和消费者之间作用关系,从控制流的角度去分析对象之间
的交互关系,从函数调用去分析具体的层次关系。
在系统设计上,原型是最能表达哲学空间和逻辑空间中系统本质的东西,原型是事物本质的第一层
第 2 页 共 124 页
安卓巴士(www.apkbus.com)
体现。我以为任何复杂的系统都一个简洁的系统原型,都有它简洁的意义。系统原型是设计者意图的第
一体现,所以我们需要从几个方向上去提炼系统原型:
(")从系统本质和基本原理出发
(#)从分析系统数据流和控制流分析出发。
从设计者意图出发,得出系统原型,提取到大的逻辑结构和系统构成是第一步。之后我们可以从设
计者的角度考虑系统猜想系统设计,为什么要这样设计,为什么要有这些构成。这样的基本原型是什么
系统的限制是什么,应用场景有哪些,有些设计的引进还是系统收敛性而为之呢。我们还可以从代码痕
迹上去分析,这些概念是如何的得来的?从一定的抽象和高度去理解这些问题,遵循系统原型出发之原
则,在深入分析代码的时候,就不容易陷入细节中。我们就可以随时跳出来想,这些代码在整体上载表
达一个什么概念,在描绘一个什么逻辑,他要构成一个虚拟层吗?他是在管理这个硬件吗?他在 $虚拟这
个对象吗?他在构建管理机构?还是在构建一个对象管理?空间管理,为了快速引入了什么样的复杂算
法,实际上的原型算法应该是什么样的?
只有深入到这个抽象层次,我们才能很好的把握住系统的每一条线,每一个对象的意义。只用从原
型出发,我们才能把握住这个系统的实质所在,在干什么?他要表达什么?设计者为什么要这样想?最
终极的想法是什么?这样,代码分析就变得简单明了,读代码就变成了是在印证猜想,修正方向。
本 文 来 自 % 博 客 , 转 载 请 标 明 处 : &'())*+ )+)&)
#,",),-)",).-/"../ '
第 3 页 共 124 页
安卓巴士(www.apkbus.com)
Android 核心分析(02)----方法论探讨之概念空间篇
我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描
述方式,我们越容易接受和使用。各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方
式的概念空间,再使用工具从该概念空间向另外一个概念空间映射,我称之为人性思维空间向 ," 序列描
述空间的一个映射。实现方面来看,系统就是一个翻译器,将机器性更加人性化的一种机制。大学计算
机经典课“计算机体系结构”,其他的可以忘记,但是下面这个图不能忘记:
0这个就是概念空间最本质的原型体现:作为观测者看到了什么?设计者给了观察者什么?给出的答
案是外部特性。•
(")提供给观察者的概念空间是什么?
(#)内部特性的概念空间是什么?••$•
概念空间所表达的东西带有两个方面的缠绕:一面是人性自由,一面是物性制约(实时响应,系统
资源的限制)。所以程序实现的概念空间是人性自由与特定计算机系统物性之间有一个折中,并且根据
实际系统而采取某种动态的平衡。而这种平衡将会影响到系统架构,以及设计的思想。特别在手机这样
的嵌入式系统中,这种矛盾和平衡无处不在,这种折中无处不在。而对系统的选取和采用,也就接受了
某个方面的折中或某中即在的,也许是看不见的标准,及这样的标准有隐式和显式的。正因为如此,不
管是工具的产生,新的平台的产生,•都是计算机的物性向人性靠近的一个小台阶。一个新的思想的形成
随即带来的新工具,新系统框架,新的体系结构。••$•
第 4 页 共 124 页
安卓巴士(www.apkbus.com)
如果设计者站的高度足够高,那么设计者一开始就会考虑到“我该给他们一个什么样的概念空间,甚
至一个什么样的理念,让他们这个概念空间去建立自己的产品”,于是设计者就会开始主动的去建立概念
空间,这个概念空间要表达的实际意义,概念空间应该有哪些内容构成,考虑概念空间的完备性和封闭
性,考虑概念空间的边界,考虑从哪个基础上建立这个概念空间,考虑如何与概念空间外的实体进行交
互,考虑系统的资源限制条件,考虑功能性构建的合理性,考虑机器系统与人的平衡问题。••
$0
我们在学习新系统时,首先映入眼帘的就是新概念。新名词,就如现在我们面临的 大量的新
名词,在程序员的世界都是从代码实践开始的,是从写应用开始去涉及。1 给了我们一个概念,我们
就在这个概念框架下,使用 1 给我提供的函数接口,数据结构,初始化过程等,我们最初的接触到原
型就是“234之类的 5 程序,我们在 20 上去使用各种不同的接口函数,对于应用程
序员来讲,他说看到的系统就是系统调用接口,及其编程开发流程。实际上只要一使用这些接口,就不
得不接受一系列的概念,只有在这种概念系统下,我们才能工作。但是,实际上我们却忽略了这样的概
念系统的理解,只是在编程接口的这个狭窄的空间去理解系统 我们理解系统在形成理解概念的空间只是
微小的一角,很少有资料来介绍这种概念系统的形成和理解,编程接口只是这个概念空间一个,对外部
的一个表征。我们可以抽象起来,以接口,协议和行为,来描述系统的情况。 106 的实质向上层提
供了一个语义接口,从而在层间实现了一个转义过程,同时又成为一个功能的集合体。但是我们很少这
样跳出来看,我们到底是处于一种什么样的概念空间,1 除了调用接口外,还给了我们怎样一种整体
概念?目标系统的基本构架在本质上的东西就是一个概念系统到另一个概念系统的映射。让我们大脑理
解的概念系统映射到计算机能实现的概念域的一个映射。我们假定这个概念域 ,机器能够理解的概念域
为 ,我们的软件工程要做的事情实质就是:7 领域的一个映射过程。
为什么要在宏观上把握这些概念呢,显然有我的目的,理解概念空间是理解设计者意图的一个重要
途径。设计者要想给开发者提供什么,设计者想要提供给最终用户什么。我们需要站在高处看待系统明
白设计者意图。
的实质还是一套管理手机硬件系统的软件,这个话讲起来没有多大意义,计算机操作系统本
质都是如此, 是 8+ 云计算计划的一部分,我们修正成: 建立的本质就是让计算机
成为我的云接入移动智能终端。作为硬件管理软件, 提供概念空间内涵实质上泛操作系统内涵,
我们的理解可以从泛操作系统概念空间映射到 系统中去。而作为云计算的一部分的内容,我们可
以云计算的概念入手去研究 。
第 5 页 共 124 页
剩余63页未读,继续阅读
资源评论
- ishotoli2013-07-05很好,比扫描的pdf强太多了,主要是可以搜索定位
lmjmn123
- 粉丝: 4
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功