正在做一款锁屏应用。
做锁屏肯定用到了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;
}
}<