摘要:Android电话系统之-rild Rild是Init进程启动的一个本地服务,这个本地服务并没有使用Binder之类的通讯手段,而是采用了socket通讯这种方式。RIL(Radio Interface Layer) Android给出了一个ril实现框架。由于Android开发者使用的Modem是不一样的,各种指令格式,初始化序列都可能不一样,GSM和CDMA就差别更大了,所以为了消除这些差别,Android设计者将ril做了一个抽象,使用一个虚拟电话的概念。这个虚拟电话对象就是GSMPhone(CDMAPhone),Phon对象所提供的功能协议,以及要求下层的支撑环境都有一个统一的描... 阅读全文
Android核心分析之十六Android电话系统-概述篇
2013-12-26 14:07 by kingshow, 364 阅读, 0 推荐, 收藏, 编辑
摘要:Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下: 0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理 1)由于电话运营商为我们提供了呼叫等待,电话会议等补充业务,所以我们的手机需要管理多路通话,如何管理? 2)来电时,我们要播出来电铃声,接通时我们需要切换语音通道,这个又跟多媒体系统打上了交道,例如有耳机插上了,有蓝牙耳机连上了,系统该做如何的管理和切换? 3... 阅读全文
Android核心分析之十五Android输入系统之输入路径详解
2013-12-26 12:32 by kingshow, 242 阅读, 0 推荐, 收藏, 编辑
摘要:Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定: (1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等 (2)是否有拦截Listener (3)对按键事件来讲,是否存在输入法 (4)是否是焦点终点 (5)是否为焦点切换按相关键 这些情况都是设计输入路径需要考虑的基本条件。 1.1一般的输入路径设计 该输入路径实际上是指的按键消息(MSG_KEYDO... 阅读全文
Android核心分析之十四Android GWES之输入系统
2013-12-26 11:57 by kingshow, 277 阅读, 0 推荐, 收藏, 编辑
摘要:Android输入系统 依照惯例,在研究Android输入系统之前给出输入系统的本质描述:从哲学的观点来看,输入系统就是解决从哪里来又将到哪里去问题。输入的本质上的工作就是收集用户输入信息并放置到目标位置。 Android在源代码分类上,并没有输入系统分类。本章的输入系统研究是一个综合的分析,前面的GWES的分析,特别是View的Focus Path以及Window Manager Proxy是本章分析的基础,如果没有理解,请参阅前面的窗口管理的相关章节。 Android输入系统的组成 aa.jpg (7.27 KB, 下载次数: 0)下载附件 保存到相册 2012-3-19 1... 阅读全文
Android 核心分析之十三Android GWES之Android窗口管理
2013-12-26 11:53 by kingshow, 239 阅读, 0 推荐, 收藏, 编辑
摘要:Android GWES之Android窗口管理1基本构架原理 Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。 123.jpg (16.12 KB, 下载次数: 0)下载附件 保存到相册 2012-3-19 11:55 上传 Activity建立一个主窗口后,在将... 阅读全文
Android 核心分析之十二Android GEWS窗口管理之基本架构原理
2013-12-26 11:30 by kingshow, 342 阅读, 0 推荐, 收藏, 编辑
摘要:Android GWES之窗口管理之基本构架原理 Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用WindowState与这个主View对应。 321.jpg (9.59 KB, 下载次数: 0)下载附件 保存到相册 2012-3-19 11:48 上传 Activity建立一个主窗口后,在将主窗口添加到Win.. 阅读全文
Android核心分析 之十一Android GWES之消息系统
2013-12-26 11:27 by kingshow, 196 阅读, 0 推荐, 收藏, 编辑
摘要:Android GWES之Android消息系统 Looper,Handler,View 我们要理解Android的消息系统,Looper,Handle,View等概念还是需要从消息系统的基本原理及其构造这个源头开始。从这个源头,我们才能很清楚的看到Android设计者设计消息系统之意图及其设计的技术路线。 消息系统的基本原理 从一般的系统设计来讲,一个消息循环系统的建立需要有以下几个要素: 消息队列 发送消息 消息读取 消息分发 消息循环线程 首先来研究一下消息驱动的基本模型,我使用如下的图形来表示一个... 阅读全文
Android核心分析 之十Android GWES之基本原理篇
2013-12-26 11:14 by kingshow, 312 阅读, 0 推荐, 收藏, 编辑
摘要:Android GWES基本框架篇 我这里的GWES这个术语实际上从Microsoft 的Window上移植过来的,用GWES来表示Android的窗口事件系统不是那么准确,在Android中Window是个弱化了的概念,更多的表现在View这个概念上。在很大程度上,Android的View的概念可以代替Microsoft Window这个概念,有点和Microsof暗中较劲的意味,你用过的概念我就偏不用,这个也是我以为的设计者意图。 原始GUI基本框架 首先我们从Android的SDK外特性空间开始,在编写Actvitiy时,我们都是面对的处理函数:OnXXXX(),例如有按键按下就... 阅读全文
Android核心分析 之九Zygote Service
2013-12-26 11:06 by kingshow, 252 阅读, 0 推荐, 收藏, 编辑
摘要:Zygote Service 在本章我们会接触到这两个单词: Zygote [生物] 受精卵, 接合子, 接合体 Spawn:产卵 通过这两个单词,我们就可以大体知道Zygote是干什么的了,就是叫老母鸡下蛋。通过“Zygote”产出不同的子“Zygote”。从大的架构上讲,Zygote是一个简单的典型C/S结构。其他进程作为一个客服端向Zygote发出”孵化”请求,Zygote接收到命令就“孵化”出一个Activity进程来。 123.jpg (18.36 KB, 下载次数: 0)下载附件 保存到相册 2012-3-19 11:35 上传 Zygote系统代码组成及其调用结构:... 阅读全文
Android 核心分析 之八Android 启动过程详解
2013-12-26 10:46 by kingshow, 333 阅读, 0 推荐, 收藏, 编辑
摘要:Android 启动过程详解 Android从Linux系统启动有4个步骤; (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) Home启动 总体启动框架图如: 1.jpg (53 KB, 下载次数: 1)下载附件 保存到相册 2012-3-19 11:28 上传 第一步:initial进程(system/core/init) init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引... 阅读全文