当iOS应用程序在后台启动时,我应该避免使用UI吗?

前端之家收集整理的这篇文章主要介绍了当iOS应用程序在后台启动时,我应该避免使用UI吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序支持后台位置更新(特别是重要的位置监控).

当我确定应用程序在后台(application.applicationState == UIApplicationStateBackground)时,是否需要阻止UI(通过控制器等)加载?

我的目的是避免在后台加载大量的UI(这是一个大应用程序),这可能会浪费我在后台有限的时间来实际响应位置更新.

例如(在ObjC中,但问题也适用于Swift),假设我有一些RootViewController初始化并保存整个控制器/视图层次结构,我应该在viewDidLoad中执行:

if ([UIApplication sharedApplication].applicationState ==  UIApplicationStateBackground) {
    // Root view controller loaded while in background,so doing only background stuff
    [self justDoBackgroundStuffWithoutUI];
} else {
    // Root view controller loaded normally,so loading normal UI
    [self initializeUIAndChildControllers];
}

?或者我应该“信任”iOS忽略所有这些UI任务,因为它会知道它处于后台状态?

解决方法

您可以忽略这些并让操作系统处理它,只要小心,如果您有长时间运行的BG任务,它们可能有也可能没有时间完成,所以最好小心,因为它不允许您永远运行任务.
原文链接:https://www.f2er.com/iOS/332025.html

猜你在找的iOS相关文章