38、Android开发:服务与设计哲学全解析

Android开发:服务与设计哲学全解析

1. 服务介绍

在Android开发中,服务(Service)是一种在后台运行,执行长时间运行操作而不提供用户界面的组件。服务主要分为两种类型:启动服务(Started Services)和绑定服务(Bound Services)。

1.1 启动服务

启动服务具有无界生命周期,即使没有Activity可见时也可能保持活动状态。为避免因内存不足被系统终止,这种服务应作为前台服务启动,系统会赋予其较高优先级,并通过通知让用户知晓后台工作。

在Android 8.0(API级别26)之前,启动服务可以从空闲/后台应用调用并持续运行。但Android 8.0引入了新限制,仅允许前台应用、前台服务,以及在应用进入后台后的几分钟内、接收到高优先级Firebase云消息(FCM)、广播或执行通知中的待定意图时启动服务。

对于大多数用例,如果有替代方案,应避免使用服务。例如,作业调度器(Job Scheduler)是在应用后台运行时调度操作的最佳实践替代方案。

启动服务的创建步骤如下:
1. 创建一个继承自 Service 的类,实现 onBind 方法,对于启动服务,此方法可返回 null ,表示无调用者可绑定到该服务。示例代码如下:

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值