android添加系统服务保活,AndroidService保活方法总结(不被杀死)双进程守护

写在前头

保活Service我们需要做什么:

1.在应用被关闭后保活(最难)

2.在内用占用过大,系统自动释放内存时保活(优先杀死占用较高的Service)

3.重启手机后自动开启Service

4.手机息屏后不被释放内存

5.手动清理内存时保活

首先介绍一下Service的等级:

一、前台进程

二、可见进程

三、服务进程

四、后台进程

五、空进程 ---关闭应用后,没有清理缓存

所以为了提高优先级我们可以使用startForeground()方法将Service设置为前台进程。

一、在AndroidManifest中添加Service

android:process="istep.service" //放入新进程

>

android:process=":GuardService">

二、双进程保护

1.创建aidl实现跨进程通信(新建一个aidl)

interface ProcessConnection {

//删除不必要方法

}

2.创建主服务

public class StepService extends Service{

@Nullable

@Override

public IBinder

onBind(Intent intent) {

return new ProcessConnection.Stub() {};

}

@Override

public int

onStartCommand(Intent intent, int flags, int startId) {

startForeground(1,new Notification());

//绑定建立链接

bindService(new

Intent(this,GuardService.class),

mServiceConnection,

Context.BIND_IMPORTANT);

return START_STICKY;

}

private

ServiceConnection mServiceConnection = new ServiceConnection()

{

@Override

public void onServiceConnected(ComponentName

componentName, IBinder iBinder) {

//链接上

Log.d("test","StepService:建立链接");

}

@Override

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值