![d01_c_认识android核心服务_ok_W_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-9/26/ea261e3d-a098-4fa4-8532-c6132d5610db/ea261e3d-a098-4fa4-8532-c6132d5610db1.gif)
![d01_c_认识android核心服务_ok_W_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-9/26/ea261e3d-a098-4fa4-8532-c6132d5610db/ea261e3d-a098-4fa4-8532-c6132d5610db2.gif)
![d01_c_认识android核心服务_ok_W_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-9/26/ea261e3d-a098-4fa4-8532-c6132d5610db/ea261e3d-a098-4fa4-8532-c6132d5610db3.gif)
![d01_c_认识android核心服务_ok_W_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-9/26/ea261e3d-a098-4fa4-8532-c6132d5610db/ea261e3d-a098-4fa4-8532-c6132d5610db4.gif)
![d01_c_认识android核心服务_ok_W_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-9/26/ea261e3d-a098-4fa4-8532-c6132d5610db/ea261e3d-a098-4fa4-8532-c6132d5610db5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、D01_c基於軟硬整合觀點认识Android核心服务( c)By 高煥堂基於軟硬整合觀點7、天一号的核心服务: ServiceManager 天 一号的核心服务就是ServiceManager(简称SM)。当Android系统启动时,就会优先将之登记到Binder Driver里,如下图:ServiceManagerBD 随后,陆续会有更多的核心服务呼叫SM的addService()函数去登录到BD里。例如, ActivityManagerService也是透过SM而登录到BD里。再如,MediaPlayerService也继续透过SM去登录到BD里,如下图:MediaPlayerServic
2、eActivityManagerServiceServiceManagerBDOpenCode 当Android系统启动完成(主要核心服务也启动完成)之后,就可以启动及执行应用程序了。 执行应用程序时,各App服务(亦即Service 的子类)都由ActivityManagerService来掌管。 例如,App里的myActivity等类别可以使用bindService()来绑定(Bind)到myService服务,然后透过IBinder接口而远程呼叫到myService。之后,myService再透过JNI 而呼叫到MediaPlayerService,进而呼叫到更底层的驱动模块。mySe
3、rvice.javaService.java(SDK-based 服務)JNIMediaPlayer.javaMediaPlayerServiceMediaPlayer.cpp(核心服務)OpenCodeBinder DriverService.javamyService.javaVMSystem ServerIBinderZygoteZygoteVMServiceManagerMediaPlayerServiceSurfaceFlingerRuntimeInit進程(讀取init.rc)MediaServerLinux Kernel + Drivers + HW基於軟硬整合觀點8、核心服务的
4、共通API: IBinder接口myActivity.javaActivity.javaRuntimeInit進程(讀取init.rc)MediaServerSurfaceFlingerSystem Server ServiceManagerIBinderZygoteZygoteServiceManagerVMLinux Kernel + Drivers + HW 就以ServiceManager(简称SM)为例子,由于SM跑在自己的进程里,为了让别的模块可以来呼叫它的服务,它必需提供共通的IBinder接口,才能让其它进程里的模块来进行IPC沟通。如下图:IPC進程(Process)進程(Process)JNIC+ ClientIBinderServiceManagerBinder DriverLinux KernelHAL 此刻,如果另一个进程里的C+ Client想与SM互动时,就会透过更底层的ProcesState服务在自己的进程里,诞生一个BpBinder对象,作为BinderDriver的分身(即Proxy对象)。 让C+ Client能透过BpBinder而与Binder Driver互动,进而跨进程地与SM沟通,所以BpBinder也间接地扮演SM的分身的角色。如下图所示:IPC進程(Process)進程(Process)JNIC+ Clienttransact
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年H-系列卷材涂料项目建议书
- 2024年合成肽疫苗行业企业战略发展规划及建议
- 2024年酞菁颜料项目规划设计方案
- 公路工程劳务承包协议(32篇)
- 中高层管理培训心得7篇
- 兴义市建设工程施工合同(32篇)
- 二年级数学下册教案怎么写(6篇)
- 年度工艺气体压缩机战略市场规划报告
- 月考总结与反思范文
- 年度高性能钴粉产业分析报告
- 李贺——诗人专题PPT
- 沪教版 四年级 下册 数学 知识点
- 第三套中学生广播体操《舞动青春》分解动作及彩图图解
- 水利工程各种台账表格
- 品质部月度统计分析月报
- 全国成人高考报名表
- 2022新苏教版小学科学六年级下册4《电磁铁》教案(定稿)
- 组合开关技术规格书
- 国标 型材尺寸规格表
- 项目风险管理试题
- 部编版五年级下册期末语文试卷答题卡及答案-五年级下册期末的答题卡
评论
0/150
提交评论