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解析等的核心实现。虽然名为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
主要功能有检查输入输出设备的连接状态及系统的音频策略的切换等。
分享到:
相关推荐
### Android XML 属性详解 #### 一、android:alpha **相关方法:** `setAlpha(float)` **描述:** 此属性定义了视图的透明度级别。取值范围为0到1之间,其中0表示完全透明(即不可见),1表示完全不透明(即完全...
在Android基础部分,你会遇到关于Android系统架构、Activity生命周期、Intent传递、BroadcastReceiver广播接收器、Service服务、ContentProvider内容提供者等基础概念的问题。例如,如何在不同Activity间传递数据,...
在Android平台上,开发一款通话时间统计器应用是一个实用且具有教育意义的项目。这个实例将帮助我们理解如何利用Android...通过实践这个项目,开发者不仅可以提升Android开发技能,还能深入理解Android系统的运行机制。
在Android开发中,ImageView是一个非常重要的视图组件,主要用于显示图像资源。它是View类的子类,专门设计来处理和展示图片。以下是关于Android中ImageView的一些常用方法的详细说明: 1. **setOnClickListener...
这一版本的发布标志着Android系统的一次重要进化,引入了许多关键的新特性。 1. **Android统一版本:**Android 4.0首次实现跨平台兼容,单一版本支持多种设备,解决了之前不同设备之间版本不一致的问题,为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 真的准备好了吗——...
5. `getSystemService(String name)`:获取Android系统提供的各种服务,如网络服务、蓝牙服务等,以便进行更高级的操作。 6. `setContentView(int layoutResID)` 和 `setContentView(View view)`:这两个方法用于...
这需要集成Android的通知服务,并设置适当的触发条件。 最后,考虑到性能和内存管理,我们需要优化聊天界面的滚动性能,比如使用DiffUtil来减少不必要的视图更新,以及合理地缓存和解码图片,防止内存泄漏。 总的...
在Android系统中,"root"是指获取设备的超级用户权限,这意味着用户可以访问和修改系统的任何文件,包括那些默认不可更改的系统文件。这个过程可以让用户定制设备,优化性能,或者删除不必要的应用和服务。然而,这...
基于安卓系统智能电视的病人一览表系统.pdf
Android系统自带SQLite数据库,可以用于本地存储用户偏好、历史订单等数据。开发者需要编写SQL语句来创建表、插入、查询和更新数据。此外,考虑到数据的安全性,可能还需要对敏感信息进行加密处理。 支付接口集成是...
4.3.2 AndroidMarket特色应用一览 4.4 你也可以做东家——申请Market账号 4.4.1 卖东西要先入伙——准备工作 4.4.2 入伙过程——申请 4.5 开张了——在Market上发布应用 4.5.1 发布时可能遇到的错误 4.5.2 卖东西也...
设备拥有多个USB接口、VGA/HDMI显示接口和千兆以太网口,内置免费操作系统如Android。这些设备可以通过Web管理界面进行集中管理和监控。另外,无线会议控制系统采用UHF频段,支持多套设备同时使用,具有稳定的PLL数...
- 用户反馈:可能包含一个反馈系统,让用户能够报告问题或提出建议,促进应用的持续改进。 7. **版本控制与更新**: - 使用Git进行版本控制:开发过程中,代码可能托管在GitHub或其他类似平台上,便于团队协作和...
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运行环境一览 Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面: Application Framework: 这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,...
根据提供的标题“计算机科学与技术专业一览”及描述“想知道计算机专业要学哪些专业课吗?这可能对您有用。”可以推断出该文档旨在详细介绍计算机科学与技术专业的核心课程与学习内容。以下是对该文档提及的专业课程...
在系统设计中,基于Android的智能移动终端设备,依托校园网信息平台,利用无线移动网络,实现与校园网资源的交互与处理,为学生和教师提供随时随地、个性化的、恰当准确的校园服务。 此外,该APP还提供了同校活动...
System分区包含了Android系统的大部分文件,包括系统应用程序、库文件、配置文件等。在ROM定制过程中,这个分区是重点修改的对象。 ##### 4. Zygote (app_process) Zygote是Android系统中的第一个应用程序进程,它...