Android L Phone的目录结构与进程模型
来源:互联网 发布:西门子数控仿真软件 编辑:程序博客网 时间:2024/05/23 13:26
本文代码目录以高通平台Android 5.0为基础,可能与AOSP有不同之处。
概述
话说在Android出生的时候,大神们,将Android层次结构定位成这样。
Phone的子民们散落在的几个层次中,Apps, Framework, Radio。虽散,但遥相呼应。那Phone本身又是什么样的结构呢?
题外话:在Android4.4 或是 5.0手机界面上的Phone图标,仅仅表示拨号盘(Dialer)这个应用,不是表示Phone的应用,
这个在跟测试同学打交道中会遇到这样的问题。
上图说明:
1) Phone的框架图,分为四个部分,Apps层,javaFramework层,RILD层,Modem层。这个系列,分析的对象仅仅关注,Android 5.0 Phone的Apps 和 Framework,
其他的不会涉及。
2) Android 5.0 (以下简称 L), 对Phone进行了较大的改动,在android/packages/services目录中新增了Mms,Telecomm, 在framework中也增加了telecomm目录。
跟踪代码发现,层次调用之间没有4.4 那么突兀,打个比方。4.4上的层次调用相当于从6楼的Dialer跳到1楼的Telephony,在L上是这样跳的:Dialer(6楼) -> Telecomm(3楼)
->Telephony(1楼),至于Google为什么这么设计,现在还不知道。感觉是要将4.4的Telephony的功能再次分解,而且加入了多账户的控制等等。
3) InCallUI还是单独分离出来,而且这次干脆连Android.mk文件都没有了,直接编译到Dialer中去。打电话的时候,即使UI挂掉,不影响语音通话,只是不能操作UI而已。Android L Phone目录结构
需要注意,telephony-msim是高通双卡特有的,读者可以忽略这点。
Andriod L Phone进程模型
说明,这里的箭头流向是以基本的拨号为例进行说的,实际过程比这个要复杂得多,其中需要注意的是InCallUI界面的启动不是跟4.4那样是需要底层
反馈后才会启动的,而是在拨号过程中启动的,这个会在后续学习拨号流程的时候进行分析。
之前在Android4.4上遇到拨打电话,电话界面启动慢的问题。哎,这个问题,是Google搞的,InCallUI启动非得依赖状态变化,而且通话结束后,
InCallUI与TeleService的AIDL连接就断开了。在L上肉测,拨号启动界面的时间是可以接受的。
0 0
- Android L Phone的目录结构与进程模型
- Android L Phone进程初始化_01
- Android L Phone进程初始化_02
- Android的进程与线程模型
- Android L Phone 启动流程
- Android L Telecom进程初始化之目录分析
- android的目录结构
- Android的目录结构
- Android的目录结构
- Android进程 与 消息模型
- Windows Phone 8应用程序项目的目录和文件结构
- android 之项目的目录结构分析与资源引用
- 进程--目录结构
- Android的进程,线程模型
- 有关android的进程模型
- Android的进程,线程模型
- Android的进程,线程模型
- Android的进程,线程模型
- Android Toast源码分析
- POJ 1146 ID Codes (生成排列)
- android的自定义dialog对话框实现
- 玩转Bash脚本:循环结构之while循环
- Linux内核--网络栈实现分析(二)--数据包的传递过程(上)
- Android L Phone的目录结构与进程模型
- linux kernel packet receive flow(内核封包处理流程)
- 添加#pragma-
- MLE, DT, MAP简谈
- OpenLayers访问WFS跨域问题(IIS)
- Linux内核数据包处理流程-数据包接收
- Objective-C 学习笔记 11 - 属性Property
- RDIFramework.NET ━ 9.14 数据库连接管理 ━ Web部分
- poj_2632