有关android service的一点小结

本文介绍了Android系统中SystemServer进程的作用及其实现原理。SystemServer由zygote进程创建,负责建立并管理大部分Android服务。同时,文章还探讨了ServiceManager如何管理这些服务以及ContextImpl如何为每个Activity提供服务客户端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. SystemServer是Android系统的一个核心进程,它是由zygote进程创建的,因此在android的启动过程中位于zygote之后。android的所有服务循环都是建立在 SystemServer之上的。在SystemServer中,将可以看到它建立了android中的大部分服务,并通过ServiceManager的add_service方法把这些服务加入到了ServiceManager的svclist中。从而完成ServcieManager对服务的管理。

2 . ServiceManager 在SystemServer进程结束后,系统所有应用都被加进ServiceManager的svclist中,由其来管理。

3.ContexImpl.java 每一个activity都有一个ContextImpl 引用,在创建activity的同时,与其相关的上下文ContextImpl 同时被实例化,并在ContextImpl中实现所有ServiceManager中的server从下层,new一个对应的客户端的manager对象,放到其下面的一个hashmap中,这里的hashmap放的与之前systemserver中区别是:systemserver中注册的全是service本事,属于服务器端,而这里的放的是客户端的对应的manager或其他类似对象(比如vibrate就是 SystemVibrator.java)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值