`

Android的系统服务一览 .

 
阅读更多

转: http://blog.csdn.net/freshui/article/details/5993195

 

 

System_Server进程

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

 

Native服务

SurfaceFlinger

 

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

 

Java服务:

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

 

 

1 EntropyService

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

 

2 PowerManagerService –> PowerManager

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

 

3. ActivityManagerService->ActivityManager

这个是整个Android framework框架中最为核心的一个服务,管理整个框架中任务、进程管理, Intent解析等的核心实现。虽然名为ActivityManager 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

一般是ringvibrate的服务程序

 

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等合作起作用,主要负责监听并广播devicemount/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 servicegoogle提供的包,没有源代码,源码只有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服务基本上都是nativeservicesmediaServer进程也是在init.rc中启动的,它不是一个daemon进程,这点容易搞混。他也是和systemserver进程类似的系统服务进程,提供应用进程的RPC调用的真正服务代码所运行的位置。其服务都是和媒体录播放有关,主要有三个服务:

 

AudioFlinger

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

 

MediaPlayerService

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

 

CameraService

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

 

AudioPolicyService

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

分享到:
评论

相关推荐

    Android中ImageView的常用方法一览.pdf

    在Android开发中,ImageView是一个非常重要的视图组件,主要用于显示图像资源。它是View类的子类,专门设计来处理和展示图片。以下是关于Android中ImageView的一些常用方法的详细说明: 1. **setOnClickListener...

    Android 4.0发布前瞻 十大重点新特性一览.doc

    这一版本的发布标志着Android系统的一次重要进化,引入了许多关键的新特性。 1. **Android统一版本:**Android 4.0首次实现跨平台兼容,单一版本支持多种设备,解决了之前不同设备之间版本不一致的问题,为Android...

    Android中Activity的常用方法一览.pdf

    5. `getSystemService(String name)`:获取Android系统提供的各种服务,如网络服务、蓝牙服务等,以便进行更高级的操作。 6. `setContentView(int layoutResID)` 和 `setContentView(View view)`:这两个方法用于...

    基于安卓系统智能电视的病人一览表系统.pdf

    基于安卓系统智能电视的病人一览表系统.pdf

    root之后系统文件可否删除一览表[定义].pdf

    在Android系统中,"root"是指获取设备的超级用户权限,这意味着用户可以访问和修改系统的任何文件,包括那些默认不可更改的系统文件。这个过程可以让用户定制设备,优化性能,或者删除不必要的应用和服务。然而,这...

    android_XML_属性一览

    ### Android XML 属性详解 #### 一、android:alpha **相关方法:** `setAlpha(float)` **描述:** 此属性定义了视图的透明度级别。取值范围为0到1之间,其中0表示完全透明(即不可见),1表示完全不透明(即完全...

    24分项报价一览表.pdf

    设备拥有多个USB接口、VGA/HDMI显示接口和千兆以太网口,内置免费操作系统如Android。这些设备可以通过Web管理界面进行集中管理和监控。另外,无线会议控制系统采用UHF频段,支持多套设备同时使用,具有稳定的PLL数...

    【Android项目实例】常见面试题集一览

    在Android基础部分,你会遇到关于Android系统架构、Activity生命周期、Intent传递、BroadcastReceiver广播接收器、Service服务、ContentProvider内容提供者等基础概念的问题。例如,如何在不同Activity间传递数据,...

    【Android项目实例】android通话时间统计器一览

    在Android平台上,开发一款通话时间统计器应用是一个实用且具有教育意义的项目。这个实例将帮助我们理解如何利用Android...通过实践这个项目,开发者不仅可以提升Android开发技能,还能深入理解Android系统的运行机制。

    android开发入门教程

    2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、AndroidSDK软件安装 2.2.2 SDK的家在哪里——设定AndroidSDKHome 2.2.3 真的准备好了吗——...

    Google.Android开发入门与实战

    4.3.2 AndroidMarket特色应用一览 4.4 你也可以做东家——申请Market账号 4.4.1 卖东西要先入伙——准备工作 4.4.2 入伙过程——申请 4.5 开张了——在Market上发布应用 4.5.1 发布时可能遇到的错误 4.5.2 卖东西也...

    【Android项目实例】继人员列表,聊天的实现,包括图片语音等一览

    这需要集成Android的通知服务,并设置适当的触发条件。 最后,考虑到性能和内存管理,我们需要优化聊天界面的滚动性能,比如使用DiffUtil来减少不必要的视图更新,以及合理地缓存和解码图片,防止内存泄漏。 总的...

    基于Android在线点餐源码

    Android系统自带SQLite数据库,可以用于本地存储用户偏好、历史订单等数据。开发者需要编写SQL语句来创建表、插入、查询和更新数据。此外,考虑到数据的安全性,可能还需要对敏感信息进行加密处理。 支付接口集成是...

    Google Android开发入门与实战的代码

    4.3.2 Android Market特色应用一览 38 4.4 你也可以做东家——申请Market账号 43 4.4.1 卖东西要先入伙——准备工作 43 4.4.2 入伙过程——申请 44 4.5 开张了——在Market上发布应用 45 4.5.1 发布...

    Android实训个人理财软件代码

    - 用户反馈:可能包含一个反馈系统,让用户能够报告问题或提出建议,促进应用的持续改进。 7. **版本控制与更新**: - 使用Git进行版本控制:开发过程中,代码可能托管在GitHub或其他类似平台上,便于团队协作和...

    计算机科学与技术专业一览

    根据提供的标题“计算机科学与技术专业一览”及描述“想知道计算机专业要学哪些专业课吗?这可能对您有用。”可以推断出该文档旨在详细介绍计算机科学与技术专业的核心课程与学习内容。以下是对该文档提及的专业课程...

    浅谈Android系统的基本体系结构与内存管理优化

    Android运行环境一览 Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面: Application Framework: 这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,...

    安卓系统移植

    System分区包含了Android系统的大部分文件,包括系统应用程序、库文件、配置文件等。在ROM定制过程中,这个分区是重点修改的对象。 ##### 4. Zygote (app_process) Zygote是Android系统中的第一个应用程序进程,它...

    “32”高职与普通本科分段培养课程与任课教师安排情况一览表(软件技术).docx

    12. **JSP应用开发**、**Oracle数据库系统及应用**、**Android基础**、**Android案例应用**、**移动互联应用开发**、**RIA富客户端应用(JQuery)**、**软件测试工具**等课程:这些课程涵盖了软件开发的多个方向,如...

Global site tag (gtag.js) - Google Analytics