gpt4 book ai didi

android - START_STICKY 不工作

转载 作者:太空狗 更新时间:2023-10-29 16:00:54 26 4
gpt4 key购买 nike

我问了一个关于保持服务存活的问题,但我没有找到解决方案,所以我有另一个更简单的问题。

android 文档说如果 android 在低内存状态下返回 onStartCommand 时使用 START_STICKY 杀死服务,如果我是正确的,它将重新创建服务。

但是这个服务在一段时间后被杀死并消失在运行的任务中但是它没有被重新创建!我在手机上的 android 4.4.2 中运行此服务,当屏幕打开时,它存活了大约 20 分钟但是当屏幕关闭时它会在大约 3 或 4 分钟后消失......在我的平板电脑上(再次是 android 4.4.2)它停留的时间更长,大约 4 或 5 小时然后再次消失(我在不同的测试中得到不同的结果)。我什至在 android 5 上测试过,结果与 android 4.4.2 的平板电脑类似

我在这里遗漏了什么吗?我认为当我们使用 return START_STICKY 时服务不会被破坏,直到我调用 stopService

这是我的服务:

public class MyService extends Service {
@Override
public void onCreate() {
super.onCreate();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}

@Override
public IBinder onBind(Intent intent) {
return null;
}

public void onDestroy() {
super.onDestroy();
}
}

对不起英语不好:)

最佳答案

可能对某人有用--

此问题与基于 AOSP ROM 的设备无关。因此 android 4.4.2 版本不是问题。

所以有些设备(HUAWEI、LAVA、XIAOMI)预装了启动管理器或节能器,它们运行在定制的安卓 ROM 上。所以这些设备通常不会提供粘性服务。

所以可能的选择是实现看门狗定时器之类的东西并检查其间的服务,如果没有启动,可以再次运行该服务。不过,可能会对电池消耗产生影响。

关于android - START_STICKY 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33710694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com