0

我正在对我的 iphone 应用程序进行性能测试,我注意到在我开始从 applicationDidFinishLaunching 看到我的 NSLog 之前,有时会在启动时经过 3-4 秒。我已经优化了代码进入 applicationDidFinishLaunching 后发生的事情,但我不确定如何优化在此之前发生的事情。我正在使用 Default.png 初始屏幕,因此它基本上只是在进入 applicationDidFinishLaunching 并开始执行某些操作之前停在该屏幕上。

只是为了给你们一些背景信息,我没有 nib 文件,我正在使用核心动画,如果这有什么不同的话。我有大约 10 个不同的控制器,我的总包大小不到 2MB。

4

2 回答 2

1

尝试在没有附加调试器的情况下运行它 - 它在启动时所做的一件事就是等待连接到你的 mac ;)

如果您只是在没有连接 Mac 的情况下在设备中运行它,您还会看到延迟吗?

于 2010-05-28T12:04:20.397 回答
0

不久前我做了一些实验,发现大多数应用程序的默认启动时间是 3 秒或更长时间。

我很生气语音备忘录应用程序需要 10 秒才能启动,到那时我已经忘记了我要说什么。我尝试编写一个启动速度更快的程序,通过使用 default.png 并自动开始录制,我得到了一个在 1-1.5 秒内不断启动的记录器。为了获得启动时间,我必须在界面激活之前启动记录器。

然而,在这项研究中,我发现大多数应用程序,例如直接从 Xcode 模板编译而无需修改的应用程序,会在 3-5 秒内启动。

基于这个事实,我会说你真的没有问题。启动时间落在预期范围内。deanWombourne 对调试器的观察很可能是正确的,它可能会使您的启动时间增加一两秒。

于 2010-05-28T13:03:59.090 回答