Android系统服务概览

 更新时间:2021年12月19日 14:49:59   作者:freshui  
这篇文章介绍了Android系统服务,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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系统服务概览的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android实现可拖动的浮动view

    android实现可拖动的浮动view

    这篇文章主要为大家详细介绍了android实现可拖动的浮动view,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法

    Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法

    这篇文章主要介绍了Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法,以实例形式分析了ScrollView中滑动失效的原因及解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android SDK Manager更新、下载速度慢问题解决办法

    Android SDK Manager更新、下载速度慢问题解决办法

    这篇文章主要介绍了Android SDK Manager更新、下载速度慢问题解决办法的相关资料,需要的朋友可以参考下
    2017-05-05
  • Android对称加密与非对称加密

    Android对称加密与非对称加密

    这篇文章主要为大家详细介绍了Android对称加密与非对称加密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android使用Retrofit2.0技术仿微信发说说

    Android使用Retrofit2.0技术仿微信发说说

    这篇文章主要为大家详细介绍了Android使用Retrofit2.0技术仿微信发说说,实现拍照,选图库,多图案上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Android设置拍照或者上传本地图片的示例

    Android设置拍照或者上传本地图片的示例

    本篇文章主要介绍了Android设置拍照或者上传本地图片示例,可以拍照或者上传本地文件,有需要的可以了解一下。
    2016-11-11
  • android 仿微信聊天气泡效果实现思路

    android 仿微信聊天气泡效果实现思路

    微信聊天窗口的信息效果类似iphone上的短信效果,以气泡的形式展现,实现这种效果主要用到ListView和BaseAdapter,配合布局以及相关素材,接下来为大家介绍下如何实现
    2013-04-04
  • Android Animation实战之屏幕底部弹出PopupWindow

    Android Animation实战之屏幕底部弹出PopupWindow

    这篇文章主要为大家介绍了Android Animation动画实战项目,屏幕底部弹出PopupWindow,如何实现?文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android AutoCompleteTextView控件基本用法示例

    Android AutoCompleteTextView控件基本用法示例

    这篇文章主要介绍了Android AutoCompleteTextView控件基本用法,结合实例形式分析了AutoCompleteTextView控件的功能、使用方法及相关操作步骤,需要的朋友可以参考下
    2016-06-06
  • Android应用启动白屏处理方案详解

    Android应用启动白屏处理方案详解

    这篇文章主要为大家介绍了Android应用启动白屏处理方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02

最新评论