Android之Service 介绍

Service是Android中用于在后台执行长时间任务的组件,分为本地服务和远程服务,主要讨论本地服务。按运行类型分为前台和后台服务,前台服务会显示Notification。Service不同于Thread,因为它可以在不同Activity间控制。启动Service常用startService()和bindService(),前者独立运行,后者允许交互。Service生命周期包括onCreate(), onStartCommand(), onBind(), onUnbind(), onDestroy()等关键方法。" 24000523,2096289,Python贝叶斯模型实现图片分类,"['机器学习', '计算机视觉', '图像处理', 'Python编程', '数据集构建']
摘要由CSDN通过智能技术生成

Service(服务)是一个没有用户界面、在后台运行、执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到其他应用场景时,Service 将持续在后台运行。另外,一个组件能够绑定到一个Service与之交互(IPC机制),例如,一个 Service 可能会处理网络操作、播放音乐、操作文件I/O或者与内容提供者(content provider)交互,所有这些活动都是在后台进行的。

Service 的分类

Service可以通过运行地点和运行类型两种方式来进行分类。按运行地点分类,可以分为本地服务和远程服务两类。

本地服务(Local)

优点:该服务依附在主进程上,而不是独立的进程,在一定程度上节约了资源,另外 Local 服务因为是在同一进程,因此不需要IPC,也不需要AIDL。相应bindService 会方便很多

缺点:主进程 被Kill 后,服务便会终止

应用:常见的应用如酷我音乐播放服务

远程服务(Remote)

优点:服务为独立的进程,对应进程名格式为所在包名加上所指定的android∶process字符串。由于是独立的进程,因此在 Activity 所在进程被Kill 的时候,该服务依然在运行,不受其他进程影响,有利于为多个进程提供服务,具有较高的灵活性

缺点:该服务是独立的进程,会占用一定资源,并且使用AIDL进行IPC稍微麻烦一点。

应用:一些提供系统服务的Service,这种 Service 是常驻的

在实际的开发实践中,Remote Service 相对是很少见的,并且一般都是系统服务,所以本章讲解的重点是 Local Service。

按运行类型分类,Service也可以分为两类。

前台服务与后台服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值