我运行另一个应用程序/游戏后,Android服务停止工作

时间:2015-07-30 08:34:43

标签: android service

当我随机运行其他应用/游戏时,您是否知道我的Android应用服务的根本原因何时停止工作?

我没有可用的代码,我只需要原因。

谢谢。

1 个答案:

答案 0 :(得分:1)

服务在您的应用程序流程中运行。如果您的应用是垃圾收集,服务将停止,直到:

  • 您可以通过清单文件声明
  • 在新流程中启动服务
  • 您将服务设为粘性(推荐)。

继续进行上述两项研究并告诉我您是否需要更多解释或代码

<强>更新

如果您看到Service的官方文档,Google会清楚地解释服务将被销毁的原因和时间。在您的场景中有用的是什么:

  

已启动的服务可以使用startForeground(int,Notification)API将服务置于前台状态,系统认为该服务是用户主动了解的内容,因此在内存不足时不会成为查杀的候选者。 (从理论上讲,服务在当前前台应用程序的极端内存压力下被杀死仍然是可能的,但实际上这不应该是一个问题。)

使用startForeground将确保您的服务在同一进程中继续运行。一些指示:

  • 即使在内存不足的情况下,也不会破坏附加客户端的服务
  • 无论进程如何,服务都将在内存不足的情况下被终止。在不同的进程中运行会更好,但不能保证它不会被系统破坏。
  • 请勿使用system.exit(0)结束您的应用。在活动上致电完成()。
  • 启动粘性服务只会确保在释放内存时重新启动服务。
希望它有所帮助!