gpt4 book ai didi

java - Android onStartCommand 服务

转载 作者:行者123 更新时间:2023-11-30 03:27:00 27 4
gpt4 key购买 nike

我有一项服务,只要用户使用它,我就会尝试持续运行。问题是该服务使用了大量内存;我猜是因为它会通知用户并不断显示图像。所以我将大部分代码放在另一个 Activity 中。服务只是调用 Activity 。

问题是我正在尝试使用返回的 Start_Sticky 在需要时重新启动服务。它需要大约 2 小时才能用完足够的内存以需要重新启动。当它重新启动时,它不会执行 onStartCommand 是我遗漏了什么吗?

public class AUTOAlarmService extends Service {
@Override
public void onCreate() {
}

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

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Intent DI = new Intent(getBaseContext(), AUTOSERVICES.class);
DI.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(DI);
return START_STICKY;
}

@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}

最佳答案

我认为您应该重新考虑已完成的一些工作,因为您的服务占用了太多资源,无论如何都不应该发生这种情况。有许多应用程序提供大量服务,但没有为此重新启动设备的问题。

但是,如果您想重新启动服务,则必须停止然后重新启动该服务。

stopService(new Intent(this, YourService.class));
startService(new Intent(this, YourService.class));

希望对您有所帮助。

关于java - Android onStartCommand 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18091507/

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