gpt4 book ai didi

android - 如何在应用程序被杀死后在后台运行线程

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:32 26 4
gpt4 key购买 nike

我想每 'x' 分钟向用户提供 toast 通知,我试图在服务的帮助下做到这一点,但是当应用程序被终止时,服务停止。 同样的问题也发生在 Intent 服务上,我应该怎么做才能在应用程序被终止后将线程/服务保留在内存中?

最佳答案

你的问题的条款有点困惑:

  • 应用程序位于进程中。如果进程被终止,则该进程中运行的所有内容都将被终止。
  • 如果您希望某个东西在该进程死亡后继续存在,您应该使用第二个进程并运行该东西以在其中继续存在。
  • 服务可以在自己的进程中运行,看起来是个不错的选择。查看服务标签中的 android:process 属性:http://developer.android.com/guide/topics/manifest/service-element.html

但您想要做的可能更简单:设置重复任务。为此,您可以使用 alarm manager .

例如,您可以:

  • 向警报管理器提供待定 Intent
  • 待定 Intent 将触发您自己的服务
  • 服务会被我们唤醒,然后运行。这样做的好处是不会让您的服务始终运行并计算时间以了解何时必须唤醒(这会耗尽电池)。此处警报管理器将在需要时将其唤醒,您的服务将执行其任务并结束。

如果您将此方法与该答案的第一部分相结合,在不同的进程中运行您的服务,那么您可以获得对 Android 设备来说真正轻量级的东西:只有您的服务(在其自己的进程中)会被唤醒在给定的时间间隔,应用程序的进程不会由此警报启动,而只会启动服务的进程。

关于 Toast 通知,是的,服务是执行此操作的好地方,但通知栏可能更适合显示通知并通知用户某些事件发生在后台服务中。

关于android - 如何在应用程序被杀死后在后台运行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007924/

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