Android安卓进程保活(二)设置前台Service(1),万字解析

本文详细解析了Android进程保活的原理,尤其是通过设置前台Service来提升App进程优先级的方法。介绍了不同Android版本下启动前台Service的注意事项,并提供了一个简单的ForegroundService示例代码,帮助开发者理解如何避免App被系统轻易回收。
摘要由CSDN通过智能技术生成
空进程 (Empty process):

不含任何活动应用组件的进程。保留这种进程的的唯一目的是用作缓存,以缩短下次在其中运行组件所需的启动时间。 为使总体系统资源在进程缓存和底层内核缓存之间保持平衡,系统往往会终止这些进程。

进程优先级:

首先空进程是最先被回收的,其次便是后台进程,依次往上,前台进程是最后才会被结束。

Android进程保活


有很多种方法可以实现Android的进程保活,比如通过  1像素且透明Activity提升App进程优先级、 通过设置前台Service提升App进程优先级、 Java层的双进程拉活、 JobScheduler实现、 NDK双进程守护、 使用账户同步拉活、 workmanager实现。

下面这幅图,说明的是:

  • 红色部分是容易被回收的进程,属于android进程

  • 绿色部分是较难被回收的进程,属于android进程

  • 其他部分则不是android进程,也不会被系统回收,一般是ROM自带的app和服务才能拥有

在asdf这里插入图片描述

本篇文章介绍的是进程第二种方式:

  • 设置前台Service,提升App进程优先级
设置前台Service,提升App进程优先级:

首先创建ForegroundService.java继承自Service(android.app.Service):↓

这里要注意,不同的Android版本,所用的方式也就不同,并且不能显示通知栏,这里需要在onStartCommand中判断Android版本,选择不同的操作

public class ForegroundService extends Service {

private static final int SERVICE_ID = 1;

@Override

public void onCreate() {

super.onCreate();

Log.d(“ForegroundServiceNew”, “开启ForegroundService”);

}

@Override

public void onDestroy() {

super.onDestroy();

Log.d(“ForegroundServiceNew”, “销毁ForegroundService

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值