【问题标题】:When an iOS app directly enters the background state?iOS app 什么时候直接进入后台状态?
【发布时间】:2023-03-21 23:55:01
【问题描述】:

谁能告诉我一个iOS应用程序直接进入后台状态的场景?

这里我引用了iOS应用程序编程文档中的多任务部分。

如果您的应用改为在后台启动——通常是为了处理 某种类型的背景事件——启动周期与 如图 3-3 所示。主要区别在于,而不是您的 应用程序被激活,它进入后台状态来处理 事件,然后在不久之后被暂停。

已添加...

在iOS应用程序编程文档中,如果你看到标题为Launching an app into the background的图3.3,流程是这样的用户点击应用程序图标 -> main() -> UIApplicationMain () -> 输入背景。当用户点击应用程序图标时,应用程序直接进入后台是否有机会。我是这样解释图像的。对吗?

谢谢。

【问题讨论】:

    标签: ios multitasking


    【解决方案1】:

    后台启动的一个场景(App X)

    • X 在其 Info.plist 中注册了位置背景模式
    • X 由用户运行,并在运行时记录显着的位置变化
    • 用户切换到另一个应用 Y,因此 X 进入后台,然后暂停(每当需要处理重大位置更改时,它将返回后台模式,然后再次暂停)
    • 应用 Y 占用大量内存,因此暂停的应用(包括 X)会被踢出内存
    • 位置发生了重大变化。现在 X 已启动到后台。

    【讨论】:

      【解决方案2】:

      场景

      假设您已注册本地/推送通知应用程序。然后,您的应用程序将在后台启动,运行一些在您的 applicationDidEnterBackgroud: 委托方法中编写的代码,然后立即终止。

      检查清单 2

      Apple documentation

      编辑:

      应用程序在运行时也可能会发现本地通知很有用 在后台,一些消息、数据或其他项目到达 可能是用户感兴趣的。在这种情况下,他们应该提出 立即使用 UIApplication 方法通知 presentLocalNotificationNow:(iOS 给应用程序一个有限的时间 在后台运行)。 清单 2-2 说明了您可能会如何做 这个。

      【讨论】:

      • 清单 2 演示了如何在进入后台后执行一些代码。 OP首先询问应用程序如何直接进入后台。
      • @MartinH,OP 特别提到“告诉我,在什么情况下”。我已经在我的回答中提到了这个场景,此外我已经向 OP 展示了将调用哪个方法来处理后台执行。
      • 嗨猫头鹰我用另一个问题编辑了我的问题。你能澄清一下吗?谢谢
      • 能否也发个链接。
      猜你喜欢
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 2022-09-28
      • 2021-10-08
      • 2013-10-15
      • 2012-07-13
      相关资源
      最近更新 更多