当前课程知识点:Android应用开发基础 > 第六章 Android服务 > 6.1 系统服务概述 > 6.1 系统服务概述
本节我们介绍Android的服务组件
在讲Android的服务之前
我们看一下什么是服务
常用操作系统Windows服务有如下特征
1 与运行在Windows操作系统中应用程序一样
都是进程
2 服务是一个特殊的进程
特点在于没有图形用户界面
比如图中的windows的后台服务
没有图形用户界面
3 服务在操作系统的后台
为用户默默提供各种业务
Windows服务能做些什么呢
1 监控服务 Windows防火墙
自动更新Windows服务
自动播放服务
迅雷下载监控服务
2 耗时计算服务
Windows全盘搜索服务
Tomcat Web容器服务
3 访问硬件服务
系统音频服务
视频显示硬件驱动服务
Android的服务作为Android四大组件之一
在每一个应用程序中
都扮演着非常重要的角色
它主要用于后台处理一些耗时的逻辑
或者去执行某些需要长期运行的任务
必要的时候
我们甚至可以在程序退出的情况下
让Service在后台继续保持运行状态
Android Service与Activity
它们之间有一些相同点
1 Android的服务和Activity都是一个组件
2 都能够通过研发人员的编码
为用户提供各种业务功能
Android Service与Activity的区别
1 Activity主要用来提供图形用户界面
供用户与应用程序进行交互
并允许用户通过GUI
向Android应用发送各种业务命令
Service只担任默默无闻的业务计算工作
2 实际项目研发过程中
Service往往用来计算与处理用户的各种
复杂与耗时的指令
3 Activity则提供美观大方的GUI界面
接收用户的指令
并将后台服务计算完毕的结果
显示在界面上
Android从服务提供方来说
可以分为系统服务和自定义服务
如图所示
1 Android 系统服务
Android系统运行后就能使用
比如图中后台运行的Service1和Service2
2 Android 自定义服务
由研发人员根据不同的需要
自行开发的服务
比如图中自定义的Java Class1和Java Class2
这些服务往往与活动组件等其他组件
保存在同一个应用程序中
Android从服务访问级别上
可以本地服务服务和全局服务
如图所示
1 Android 本地服务
1.1 只有服务自身程序中的应用
才可以访问该服务
1.2 图中的Local Service是一个组件
只能创建在Application1中
本地服务
只有该应用程序中的其他组件可以访问
其他的Android应用程序不得访问
比如图中的Application2不能访问
2 Android 全局服务
2.1 创建的服务组件
可以被宿主应用宿主进程
和Android中的其他应用访问
2.2 Android全局服务是最常见的服务
比如图中的Remote Service
可以被Application2访问
2.3 Android的系统服务全部为全局服务
可供任何应用程序访问
Android系统服务的创建过程如下
1 init进程负责创建初始化
Library中的系统级资源和进程
2 Zygote进程负责初始化
Application Framework中的
系统级的资源和进程
系统服务主要包括如下几个服务
1 PackageManagerService
应用程序管理服务
2 SystemServer
系统服务
3 WindowManagerService
窗口管理服务
4 ActiviyManagerService
活动管理服务
Zygote的初始化流程如图所示
1 Android系统启动时开启init进程
init负责启动Zygote进程
2 Zygote进程创建system_server进程
3 system_server进程中的核心组件是
com.android.server.SystemServer
4 SystemServer组件负责创建
保存 管理所有系统服务
Android服务主要应用于如下场景
1 监控系统状态
比如Alarm Service 提醒服务
用于监控系统的时间
TelephonyManagerService 来电服务
主要监听通话的记录
Storage Manager 磁盘服务
磁盘空间不足10%时候给用户警告
2 耗时计算服务
Search Service 搜索服务
搜索系统资源
Connectivity Service 连接服务
实时返回各种网络连接的服务
3 访问硬件服务
Power Service 电源服务
通过访问电池获取电源信息
Audio Service 音频服务
通过访问多媒体设备提供声音
Sensor Service 传感器服务
识别各种传感器并注册入系统
4 实现跨应用程序间的通讯 IPC
用于服务提供的数据
可以供多个应用程序中的组件访问
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统