0

我已经从我的应用程序启动了一项服务,并从该服务启动了一个工作线程。我希望我的服务即使应用程序进入后台也能运行,直到用户杀死/退出应用程序。

但是在某些情况下,我的服务由于内存不足而被杀死,然后使用粘性服务或将应用程序置于前台以重新启动服务。

我的问题是我不想丢失服务结束和重新启动时间之间的数据,所以是否可以从服务 ondestroy 方法启动另一个线程,但在这种情况下我们如何控制该线程。

请让我知道这是正确的方法吗,这个用例是否可以实现

4

1 回答 1

1

我希望我的服务即使应用程序进入后台也能运行,直到用户杀死/退出应用程序。

这是不可能的。用户总是可以通过设置中的强制关闭或通过某些设备版本的最近任务列表来摆脱您的应用程序。

但是在某些情况下,我的服务由于内存不足而被杀死

不,您的进程因内存不足而终止。

我的问题是我不想丢失服务结束和重新启动时间之间的数据,所以是否可以从服务 ondestroy 方法启动另一个线程

不,因为您的进程正在被终止。

请让我知道这是正确的方法

可能不是。很少有应用程序需要持续运行的服务,这就是 Android 及其用户不遗余力地控制此类服务的原因。我建议您尝试找到一些解决方案来解决您的任何问题,而这些问题不需要持续运行的服务。

于 2013-11-10T16:15:35.533 回答