android杀死 后台服务,android怎么样做到相似于微信那样后台服务不会被杀死

在开发锁屏应用时,遇到Android系统自动杀死后台服务的问题,尤其是自定义服务。通过对比微信服务,发现其能持续运行不受影响。文中探讨了尝试使用startForeground和提高服务优先级无效的情况,并寻求帮助,分析了微信服务注册代码,希望找到让服务不被杀死的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正在做一款锁屏应用。

做锁屏肯定用到了service,可是本人发现每日手动点击自带的内存清理按钮的时候,本人的那个service总是会被杀死。

而微信的后台服务却是一直正常的运行,不会被杀掉。

360的话也不会被杀死,但是360会重新启动。而且360的是两个后台服务,本人猜有可能会相互作用的,杀死一个的时候另一个接收到广播把其重启。

尝试过用startForeground以及提高service优先级的方式,发现都不行,service都会被杀死。

反编译了一下微信的代码。

请大家帮忙想想办法吧。谢了

下面是微信的注册service:

android:name="com.tencent.mm.booter.CoreService"

android:process=":push"

>

代码如下:

public class CoreService extends Service

implements com.tencent.mm.jni.platformcomm.f, af, bl

{

private ao bZl;

private ac bZm = new ac();

private boolean bZn = true;

public final int bZo = -1213;

private final ai bZp = new e(this);

private com.tencent.mm.modelstat.l bZq = null;

private AddrBookObserver bZr;

private WatchDogPushReceiver bZs;

private WakerLock bZt = null;

private m bZu = new m();

private ay bZv = new ay(new g(this), false);

private void oj()

{

aa.w("MicroMsg.CoreService", "[COMPLETE EXIT]");

bk.Fg().d(3, 10000, "");

bg.onDestroy();

try

{

MMReceivers.AlarmReceiver.D(getApplicationContext());

MMReceivers.AlarmReceiver.B(getApplicationContext());

Alarm.H(getApplicationContext());

label43: aa.appenderClose();

Process.killProcess(Process.myPid());

return;

}

catch (Exception localException)

{

break label43;

}

}<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值