5

我发现一些 iOS 应用程序的启动速度非常快(例如 YouTube-来自 google、Skype、iTunes)。

我创建了一个空应用程序(使用标准选项卡式应用程序模板),我根本没有更改任何代码,只是添加了启动图像。当我测试时(尝试同时对开发人员和 Ad-Hoc 配置文件进行签名以检查是否有任何差异),它的启动速度不如上述应用程序。

当我点击设备上的应用程序图标时,应用程序图标会变暗约 0.2-0.5 秒,然后开始显示启动画面。

我的问题是如何让我的应用程序启动得非常快,有没有什么技巧可以快速显示启动图像?(我想知道我的空应用程序如何启动比上述应用程序慢?)

谢谢

4

3 回答 3

2

我认为你也可能中了一个诡计:至少对于 iTunes 应用程序,Apple 正在用运行时看起来非常像应用程序的图像覆盖启动图像,这会产生应用程序立即加载的错觉。试试看:

启动 iTunes(或“音乐”)并开始播放,然后执行其他操作以使系统尽可能多地交换进程(例如,浏览一些繁重的网站)。然后重新启动 iTunes 并立即尝试暂停音频。在我的 iPhone 4 上,控件赶上之前大约需要 3 秒:位置指示器会跳到正确的位置,在此之前,“播放”按钮处于非活动状态 - 您无法暂停音频。您看到的启动画面旨在让您认为应用程序正在立即启动,即使它确实需要几秒钟才能启动。

我还注意到 iOS 版 Chrome 也在做同样的事情。我实际上不喜欢这个设计决定,因为它表明应用程序在您可以对其进行任何操作之前就已准备就绪。

于 2013-01-26T17:51:16.320 回答
1

我根本没有更改任何代码只是添加了启动图像

加载图像不是为了显示启动图像,它们是为了显示应用程序界面的静态版本,以产生应用程序加载速度比实际速度更快的错觉。

Apple 在 HIG 中特别警告了飞溅图像。

停止滥用加载图像来显示启动图像,开始正确使用它们,您的应用程序看起来好像加载得更快了。

于 2013-01-26T18:21:54.433 回答
0

链接到尽可能少的框架,我们在 WWDC 上进行了尝试,链接到许多框架甚至在调用 main() 方法之前就会产生明显的延迟!

无论您的代码本身有多快!

于 2013-01-26T17:59:07.527 回答