UIApplication将在后台运行多长时间

时间:2014-01-23 13:13:46

标签: ios iphone ios5 ios7

PLZ帮助我了解UIApplication将在后台状态下运行多长时间。就像我们按下主页按钮等一样

4 个答案:

答案 0 :(得分:1)

我建议你简要地看一下Background Execution and Multitasking

  

大多数应用在进入后立即转移到暂停状态   背景。只有为用户提供重要服务的应用才是   允许继续运行任何时间

答案 1 :(得分:1)

限制如下:

  • 适用于iOS6的10分钟
  • iOS7 3分钟

就在你的app委托工具中:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    UIApplication *app = [UIApplication sharedApplication];
    __block UIBackgroundTaskIdentifier bgTask = 0;
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
              [app endBackgroundTask:bgTask];
              bgTask = UIBackgroundTaskInvalid;
          }];

}

在600s(iOS6)或180s(iOS7)之后调用过期处理程序 - 您必须立即完成 - 任何耗时的任务或应用程序都不会崩溃。

答案 2 :(得分:0)

运行5秒钟。 你也可以做一个特殊的过程,要求有更多的时间来结束一个长任务(比如上传等等。)。

这里解释了一切:https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

有一个愉快的阅读课程:)

答案 3 :(得分:0)

应用程序在后台并执行代码。大多数应用程序会暂停进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保留一段时间。此外,直接启动到后台的应用程序进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅“Background Execution and Multitasking。”

编辑:

必须由使用它们的应用程序事先声明对某些类型的后台执行的支持。在Xcode 5及更高版本中,您可以从项目设置的“功能”选项卡声明应用程序支持的背景模式。启用“后台模式”选项会将UIBackgroundModes键添加到应用程序的Info.plist文件中。选择一个或多个复选框可将相应的背景模式值添加到该键。表3-4列出了您可以指定的背景模式以及Xcode为应用程序的Info.plist文件中的UIBackgroundModes键指定的值。