如何保持android进程的活力



像Swiftkey、Locker Master这样的应用程序是如何在进程从后堆栈中删除后仍保持其活动状态的?

他们也不使用粘性通知。

更新:-我需要让我的过程继续下去。但在我的案例中,服务是活动的,但进程会被终止。

它们都有一个或多个未绑定的后台服务。

要终止这些服务,您可以进入"设置"->"应用程序"->"运行"。

然而,其他应用程序或系统可以通过发送系统范围的消息(意图)随时重新启动服务。在大多数情况下,它由重新启动

  • 时间事件
  • 引导完成
  • 其他应用程序
  • 其他意图

在Swiftkey的情况下,当需要显示键盘时,它将由Android操作系统启动。

编辑:您可以通过将服务添加到AndroidManifest 中的服务定义中来指定服务在远程进程中运行

android:process="process_name_here"

然而,没有一种服务是不能被杀死的,可以永远运行的。如果你的服务资源不足或运行时间过长,安卓操作系统可能会开始扼杀你的服务。为了克服这一点,您可以创建一个可原谅的运行服务,但它需要显示一个通知。它也可能被任务经理杀死,就像你提到的那样。相反,您应该开始关注如何保存它的状态,以便以后能够重新启动它。

最新更新