Android的系统服务一览

System_Server进程运行在systemserver进程中的服务比较多,这是整个Android框架的基础Native服务SurfaceFlinger这是framebuffer合成的服务,将各

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

System_Server进程

运行在system server进程中的服务比较多,这是整个Android框架的基础

Native服务

SurfaceFlinger

这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuffer)的服务程序

Java服务:
http://hovertree.com/menu/java/
这部分的服务大部分都有一个供应用进程使用的manager类,这就是一个RPC调用,用户通过调用xxxManager的方法,实际上被Binder给迁移到system_server进程中对应的xxxManagerService中对应的方法,并将结果再通过binder带回。 

1. EntropyService
熵服务,周期性的加载和保存随机信息。主要是linux开机后,/dev/random的状态可能是可预知的,这样一些需要随机信息的应用程序就可能会有问题。这个无需提供应用程序接口。

2. PowerManagerService –> PowerManager
Android 的电源管理也是很重要的一部分。比如在待机的时候关掉不用的设备,待机时屏幕和键盘背光的关闭,用户操作的时候该打开多少设备等等。

3. ActivityManagerService->ActivityManager
这个是整个Android framework框架中最为核心的一个服务,管理整个框架中任务、进程管理, Intent解析等的核心实现。虽然名为Activity的Manager Service,但它管辖的范围,不只是Activity,还有其他三大组件,和它们所在的进程。也就是说用户应用程序的生命管理,都是由他负责的。

4. TelephonyRegistry->TelephonyManager
电话注册、管理服务模块,可以获取电话的链接状态、信号强度等等。<可以删掉,但要看的大概明白>

5. PackageManagerService -> PackageManager
包括对软件包的解包,验证,安装以及升级等等,对于我们现在不能安装.so文件的问题,应该先从这块着手分析原因。

6. AccountManagerService -> AccountManager
A system service that provides account, password, and authtoken management for all
accounts on the device。

7. ContentService -> ContentResolver
内容服务,主要是数据库等提供解决方法的服务。

8. BatteryService
监控电池充电及状态的服务,当状态改变时,会广播Intent

9. HardwareService
一般是ring和vibrate的服务程序

10. SensorService -> SensorManager
管理Sensor设备的服务,负责注册client设备及当client需要使用sensor时激活Sensor

11. WindowManagerService -> WindowManager -> PhoneWindowManager
和ActivityManagerService高度粘合
窗口管理,这里最核心的就是输入事件的分发和管理。

12. AlarmManagerService -> AlarmManager
闹钟服务程序

13. BluetoothService -> BluetoothDevice
蓝牙的后台管理和服务程序

14. StatusBarService -> StatusBarManager
负责statusBar上图标的更新、动画等等的服务,服务不大。

15. ClipboardService -> ClipboardManager
和其他系统的clipBoard服务类似,提供复制黏贴功过。

16. InputMethodManagerService -> InputMethodManager
输入法的管理服务程序,包括何时使能输入法,切换输入法等等。

17. NetStatService
手机网络服务

18. ConnectivityService -> ConnectivityManager
网络连接状态服务,可供其他应用查询,当网络状态变化时,也可广播改变。

19. AccessibilityManagerService-> AccessibilityManager
这块可能要仔细看一下,主要是一些View获得点击、焦点、文字改变等事件的分发管理,对整个系统的调试、问题定位等,也需要最这个服务仔细过目一下。

20. NotificationManagerService -> NotificationManager
负责管理和通知后台事件的发生等,这个和statusbar胶黏在一起,一般会在statusbar上添加响应图标。用户可以通过这知道系统后台发生了什么事情。

21. MountService
磁盘加载服务程序,一般要和一个linux daemon程序如vold/mountd等合作起作用,主要负责监听并广播device的mount/unmount/bad removal等等事件。

22. DeviceStorageMonitorService
监控磁盘空间的服务,当磁盘空间不足10%的时候会给用户警告

23. LocationManagerService -> LocationManager
要加入GPS服务等,这部分要细看,现在应用中的navigation没响应,可以从此处着手看一下

24. SearchManagerService -> SearchManager
The search manager service handles the search UI, and maintains a registry of searchable activities.

25. Checkin Service(FallbackCheckinService)
貌似checkin service是google提供的包,没有源代码,源码只有fallbackCheckinService

26. WallpaperManagerService -> WallpaperManager
管理桌面背景的服务,深度定制化桌面系统,需要看懂并扩展<同时要兼容>这部分

27. AudioService -> AudioManager
AudioFlinger的上层管理封装,主要是音量、音效、声道及铃声等的管理

28. HeadsetObserver
耳机插拔事件的监控小循环

29. DockObserver
如果系统有个座子,当手机装上或拔出这个座子的话,就得靠他来管理了

30. BackupManagerService -> BackupManager
备份服务

31. AppWidgetService -> AppWidgetManager
Android可以让用户写的程序以widget的方式放在桌面上,这就是这套管理和服务的接口

32. StatusBarPolicy
管理哪个图标该在status bar上显示的策略。

mediaServer服务进程

MediaServer服务基本上都是native的services,mediaServer进程也是在init.rc中启动的,它不是一个daemon进程,这点容易搞混。他也是和systemserver进程类似的系统服务进程,提供应用进程的RPC调用的真正服务代码所运行的位置。其服务都是和媒体录播放有关,主要有三个服务:

AudioFlinger
声音的录播放服务,包括混音等

MediaPlayerService
提供媒体播放服务,opencore是这块的核心模块,对java端的接口在mediaplayer.java

CameraService
提供camera的录制、preview等功能的服务

AudioPolicyService
主要功能有检查输入输出设备的连接状态及系统的音频策略的切换等。

转自:http://hovertree.com/h/bjaf/androidfuwu.htm

推挤:http://www.cnblogs.com/roucheng/p/ListView.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120588.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • 百度-Java中级面试题分享-

    百度-Java中级面试题分享-BeanFactory和ApplicationContext有什么区别>BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。>BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法…

  • 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程记录centos7下tomcat部署war包过程1.官网下载tomcat安装包.gz结尾的2.上传到/usr/local/,并解压到tomcat目录下3.进入tomcat/bin目录,运行./startup.sh4.浏览器访问120.78.xxx.xxx:8080,出现tomcat主页说明成功了5.Eclipse里面,选择项目右键Export…

  • DNS负载均衡和NGINX负载均衡「建议收藏」

    DNS负载均衡和NGINX负载均衡「建议收藏」负载均衡:把请求均匀的分摊到多个服务器上处理DNS负载均衡DNS负载均衡是通过DNS服务器实现的,主要用于把请求均匀的分布到nginx服务器上,真实情况可能是根据区域区分请求,但是一个地域中请求还是需要均匀的分配到nginx服务器上实现原理:DNS服务器为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将…

  • 01分布两点分布_两点分布和01分布的区别

    01分布两点分布_两点分布和01分布的区别#–*–coding:utf-8–*–importmatplotlib.pyplotasplt#随机变量x只能取0,1我们称X服从以P为参数的(0-1)分布或两点分布p=

  • SSL协议简介

    SSL协议简介最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plaintext):发送人、接受人和任何访问消息的人都能理解的消息。密文(ciphertext):明…

  • PO模式实践「建议收藏」

    PO模式实践「建议收藏」目标1.能够采用PO模式的分层思想对页面进行封装1.V4版本采用PO模式的分层思想对代码进行拆分1.1PO分层封装对登录页面进行分层封装:对象库层:LoginPage操作层:LoginHandle业务层:LoginProxy调用业务层的方法,编写测试用例:测试用例:TestLogin1.2示例代码frompo.utilsimpo…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号