【发布时间】:2015-06-27 13:49:04
【问题描述】:
我有一个当前可以与服务器通信的应用程序。 想象以下情况:
- 用户点击了一些触发服务器请求的按钮。
- 请求被发送到服务器并被处理。
- 用户点击主页按钮(并可能从 按两次主页按钮来记忆)。
- 脚本处理完毕并返回结果。
问题:用户的设备是否会收到此响应(我很确定从内存中删除时不会,但关闭应用程序时会怎样)?
【问题讨论】:
标签: objective-c nsurlconnection home-button
我有一个当前可以与服务器通信的应用程序。 想象以下情况:
问题:用户的设备是否会收到此响应(我很确定从内存中删除时不会,但关闭应用程序时会怎样)?
【问题讨论】:
标签: objective-c nsurlconnection home-button
iOS 中有 5 种活动状态:
未运行:应用尚未启动或正在运行,但 被系统终止。
Inactive:应用在前台运行,但没有接收 事件。可以将 iOS 应用程序置于非活动状态,例如 例如,当收到电话或短信时。
Active:应用正在前台运行,正在接收 事件。
后台:应用在后台运行,正在执行 代码。
在用户点击主页按钮的第三种情况下,应用程序将被发送到背景状态 #4,并且仍然可以接收数据并允许您的脚本运行。如果用户终止应用,(状态 #1)您的脚本将无法完成运行。
所以,为了回答您的问题,是的,如果用户将其置于后台状态,您的应用将继续执行代码,但如果他们关闭应用则不会,因为这会使您的应用处于未运行状态。
【讨论】:
这是您应该关注的两种情况。对我来说,当应用程序进入后台时取消所有正在运行的请求是一个很好的解决方案,因为当应用程序再次进入前台时重新启动所有内容会更容易。
此外,您可以设置后台模式,让应用在后台执行一些代码,但这是一个更高级的主题。
【讨论】: