gpt4 book ai didi

android - 如果操作系统杀死了 IntentService 怎么办?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:16 25 4
gpt4 key购买 nike

假设我们有一个 IntentService 的实现,然后我们从 Activity 启动它,然后在队列中添加其他几个 IntentIntentService 进行处理。所以现在我们有第一个 Intent 正在处理中,其余的 Intent 在队列中。现在让我们想象一下,由于可以理解的原因,操作系统终止了我们的 Application 进程。问题是:

  1. 如何重启IntentService

  2. 如何恢复队列?

好吧,我知道总有一个 Service,您可以在其中覆盖它的 onStartCommand() 并告诉 Service 做什么。但是我需要一个 IntentService 因为它的 queue 模型。

最佳答案

如果工作队列需要持久化,

IntentService 不是您想要使用的。如果您将许多 Intent 发送到 IntentService,然后该进程被 Android 终止,则无法重建队列。 IntentService 只是使用内部 HandlerIntent 排队,这些不会在任何地方持久化。他们只是迷路了。

如果我是你,我会自己实现。 IntentService 的代码并不大,您可以查看它并将其用作您自己的 Service 的模型。您需要将队列写入数据库以使其持久化。从 onStartCommand() 返回 START_STICKY,这样 Android 将在您的 Service 由于资源需求而被终止时自动重启它。

关于android - 如果操作系统杀死了 IntentService 怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741017/

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