PLZ帮助我了解UIApplication将在后台状态下运行多长时间。就像我们按下主页按钮等一样
答案 0 :(得分:1)
我建议你简要地看一下Background Execution and Multitasking:
大多数应用在进入后立即转移到暂停状态 背景。只有为用户提供重要服务的应用才是 允许继续运行任何时间
答案 1 :(得分:1)
限制如下:
就在你的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秒钟。 你也可以做一个特殊的过程,要求有更多的时间来结束一个长任务(比如上传等等。)。
有一个愉快的阅读课程:)
答案 3 :(得分:0)
应用程序在后台并执行代码。大多数应用程序会暂停进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保留一段时间。此外,直接启动到后台的应用程序进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅“Background Execution and Multitasking。”
编辑:
必须由使用它们的应用程序事先声明对某些类型的后台执行的支持。在Xcode 5及更高版本中,您可以从项目设置的“功能”选项卡声明应用程序支持的背景模式。启用“后台模式”选项会将UIBackgroundModes键添加到应用程序的Info.plist文件中。选择一个或多个复选框可将相应的背景模式值添加到该键。表3-4列出了您可以指定的背景模式以及Xcode为应用程序的Info.plist文件中的UIBackgroundModes键指定的值。