Advertisement

android开发双进程守护与提权实现服务保活

阅读量:

一、进程保活机制设计

如何让我们的Android应用进程保活? 的文献中归纳了一些维持进程存活的策略,本文采用双进程守护机制以及提升进程优先级的方式来确保服务进程的持续运行。

  1. 双进程守护:
    该方案的核心在于构建两个相互独立的服务进程A与B。其中,A进程会定期检测B进程是否处于正常运行状态,若发现B进程异常,则立即启动其恢复操作;同理,B进程也会对A进程进行周期性检查,并在检测到A进程失效时执行相应的唤醒机制。

  2. 进程提权
    在该方法中,主要通过调用 startForeground 方法将 service 设置为“前台服务”状态,从而提升其优先级。然而,这种方式会导致系统显示一条通知信息。为了避免通知栏内容的出现,需要引入第三个服务C来专门负责清除该通知信息。

二、具体设计内容概述

一、三类服务设计与构建

在AndroidManifest文件中完成三个服务的注册工作,其中FirstService与SecondService分别运行于独立开启的两个进程中,以此实现双进程守护机制。ThirdService则主要用于清除通知栏信息,该服务应部署于应用原有的进程环境中即可。

复制代码
       <service
        android:name=".FirstService"

全部评论 (0)

还没有任何评论哟~