从 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。
除了首次启动时会发生这种情况,应用程序在后台运行时也会发生这种情况。
我检查并确保applicationDidFinishLaunching
或appBecameActive
中没有发生任何昂贵的事情 - 我什至尝试删除所有内容,除了将视图控制器分配给 UIWindow 的根视图。
以前有人见过这样的事情吗?关于如何解决它的任何想法?谢谢!
【问题讨论】:
从以前的经验来看,听起来你在viewDidLoad
中做了大量的工作,这显然是在viewWillAppear
和viewDidAppear
之前。您介意通过这些方法发布您的代码吗?
它实际上不仅发生在应用程序启动期间,还发生在应用程序后台运行后返回应用程序时,所以我认为它不是viewDidLoad
...即使在删除几乎所有内容之后从becameActive
和didAppear
,我仍然看到同样明显的延迟。
没有代码很难猜到。您是否正在进行任何同步通话或与任何外部配件配对?
没有任何类型的网络(或其他同步调用),也没有外部附件。我以前从未见过应用程序在离开 Springboard 之前出现延迟,更奇怪的是,它不仅在启动到“欢迎”视图时发生延迟,而且在从后台返回到“主”视图时也发生延迟。跨度>
您在 viewDidLoad 或应用程序委托方法中没有任何日志记录或断点,对吧?此外,请检查 Xcode 的控制台以获取设备。
【参考方案1】:
如果我读了你的陈述
“点击图标和...启动图像之间的显着延迟”
那么这就是 Springboard 正在处理的问题。换句话说,延迟是在你的main()
被调用之前,所以它可能是你的应用程序的静态特性的问题,要么是在info.plist
中声明的东西,要么是Springboard 能够加载应用程序的东西。
我会检查一些事情:
info.plist
格式正确,不包含不必要的引用或其他标签;
启动图像不是很大;
.ipa
不是疯大的;
正如 xmlhack 所述,静态变量不会发生奇怪的事情。
【讨论】:
我遇到了同样的问题(偶尔会延迟启动),这个答案让我想到了检查启动图像类型,结果是 JPG。我将我的照片导出为 PNG 并将其大小减小了 50%,效果非常好。延迟非常令人沮丧,所以我希望这会有所帮助。【参考方案2】:我至少找到了一个延迟的原因。配置文件。其中很多。
当我想到它时,我已经拥有了 400 多个。删除了所有旧的,AdHoc 和开发人员构建开始时间恢复正常。
【讨论】:
以上是关于从 Springboard 启动应用程序显着延迟的主要内容,如果未能解决你的问题,请参考以下文章
React-native:iOS 应用程序在具有命名空间 SPRINGBOARD 的设备上的启动屏幕中崩溃