认识android系统服务


系统服务:

java写的java层系统服务:Android Service

C++写的系统服务:Native Service 本地系统服务

系统服务往上是framework,其中衔接的接口就是JNI,往下衔接到驱动,就是HAL(硬件抽象层)


系统服务是Android框架里面最接近Linux/Driver的部分。

系统服务让App来发挥Driver/HW Device功能的重要管道。


启动系统服务:

开机时,首先加载Linux Kernel部分,进行Kernel-Space的初始化,然后加载硬件驱动程序,

就启动了Linux系统。

随后切换至User-Space, 创建init进程,读取init.rc文档,依据其内容的指示而先启动NativeService

再启动Android Service。就完成系统服务的启动。

系统服务启动在先,App启动在后。

ServiceManager: 天字第一号系统服务



登录服务

1. new service 

2. ServiceManaer.addservice(service) 


AMS(ActivityManagerService)(用来管理app)启动一个App的时候,就会通过Socket请求Zygote来fork一个进程给这个各即将启动的App。

fork:赋值,繁殖。

App的可以由java和C++来写,java的代码由虚拟机来执行,C的代码有CPU来执行。

App进程与系统进程之间的通信,跨进程通信(IPC),服务端提供IBinder接口。


绑定service,需要ServiceManager的协助:

Ibinder b = ServiceManager.getService(Context.AUDIO_SERVICE):


Stub 曹操类,挟天子以令诸侯。

屏蔽了Binder的接口,写了新的接口,比如 IAudioService.Stub写了ajustAudio,getMode等更贴心的接口

屏蔽掉了onTansact()等。


http://edu.csdn.net/course/detail/1480

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值