从 Springboard 启动应用程序显着延迟

Posted

技术标签:

【中文标题】从 Springboard 启动应用程序显着延迟【英文标题】:Significant delay launching app from Springboard 【发布时间】:2013-06-29 03:21:03 【问题描述】:

当我点击我的应用图标以启动它时,点击后需要 0.5-1.0 秒才能真正从 Springboard 打开应用 - 换句话说,在点击图标和 Springboard 放大应用之间存在显着延迟发射图像。我在设备(iPad 3)上的任何其他应用程序中都没有看到这一点。这也发生在 iPhone 4 上,但不是 iPhone 5。

除了首次启动时会发生这种情况,应用程序在后台运行时也会发生这种情况。

我检查并确保applicationDidFinishLaunchingappBecameActive 中没有发生任何昂贵的事情 - 我什至尝试删除所有内容,除了将视图控制器分配给 UIWindow 的根视图。

以前有人见过这样的事情吗?关于如何解决它的任何想法?谢谢!

【问题讨论】:

从以前的经验来看,听起来你在viewDidLoad 中做了大量的工作,这显然是在viewWillAppearviewDidAppear 之前。您介意通过这些方法发布您的代码吗? 它实际上不仅发生在应用程序启动期间,还发生在应用程序后台运行后返回应用程序时,所以我认为它不是viewDidLoad...即使在删除几乎所有内容之后从becameActivedidAppear,我仍然看到同样明显的延迟。 没有代码很难猜到。您是否正在进行任何同步通话或与任何外部配件配对? 没有任何类型的网络(或其他同步调用),也没有外部附件。我以前从未见过应用程序在离开 Springboard 之前出现延迟,更奇怪的是,它不仅在启动到“欢迎”视图时发生延迟,而且在从后台返回到“主”视图时也发生延迟。跨度> 您在 viewDidLoad 或应用程序委托方法中没有任何日志记录或断点,对吧?此外,请检查 Xcode 的控制台以获取设备。 【参考方案1】:

如果我读了你的陈述

“点击图标和...启动图像之间的显着延迟”

那么这就是 Springboard 正在处理的问题。换句话说,延迟是在你的main() 被调用之前,所以它可能是你的应用程序的静态特性的问题,要么是在info.plist 中声明的东西,要么是Springboard 能够加载应用程序的东西。

我会检查一些事情:

    info.plist 格式正确,不包含不必要的引用或其他标签; 启动图像不是很大; .ipa 不是疯大的; 正如 xmlhack 所述,静态变量不会发生奇怪的事情。

【讨论】:

我遇到了同样的问题(偶尔会延迟启动),这个答案让我想到了检查启动图像类型,结果是 JPG。我将我的照片导出为 PNG 并将其大小减小了 50%,效果非常好。延迟非常令人沮丧,所以我希望这会有所帮助。【参考方案2】:

我至少找到了一个延迟的原因。配置文件。其中很多。

当我想到它时,我已经拥有了 400 多个。删除了所有旧的,AdHoc 和开发人员构建开始时间恢复正常。

【讨论】:

以上是关于从 Springboard 启动应用程序显着延迟的主要内容,如果未能解决你的问题,请参考以下文章

React-native:iOS 应用程序在具有命名空间 SPRINGBOARD 的设备上的启动屏幕中崩溃

使用hammer.js 的Y-pan 事件延迟

API 网关是不是引入了显着延迟?

从 Springboard 返回后导致通用跳过的 AudioUnits

iOS - 从 Springboard 中隐藏应用程序图标

iOS 14 上的 WKWebView 仅在显着延迟后加载内容