iphone - 减少 iPhone 应用程序启动时间

标签 iphone objective-c profiling startup instruments

我正在尝试调查我的应用程序启动时间过长的问题,需要一些帮助。启动大约需要 6-7 秒,这实在是太长了。我没有加载任何数据集或任何东西,但该应用程序是一个计算器,所以我的 xib 确实有很多按钮和按钮图像。

我想使用 Instruments(或其他东西)来分析所有时间都花在了哪里,以便我可以进行优化,但是 Instruments 的文档并没有真正告诉我如何使用它的细节针对这个特定问题和/或如何解释结果。

你对如何测试这个有什么建议吗?指向有关如何为此使用 Instruments 的教程的指针? iTunes U 视频或其他?

欢迎提出任何建议!

肯尼

最佳答案

Palimondo 问我最终是如何解决我的问题的……这是一堆小改动,我不确定节省的钱在哪里发挥作用,我将在下面解释原因。

我的应用是一个计算器,所以它有很多按钮。一开始我以为一定是按钮加载导致了问题,但正如我在上面对 Paul 的评论中解释的那样,即使我加载了 0 个按钮,启动时间也只缩短了 1 秒。在改变了许多小东西之后,我能够节省 3 秒的启动时间,这已经足够好了。

我有一个背景图像,它是一个很好的纹理渐变图像。我减小了它的文件大小(改变了纹理,用不同的选项导出它)。

我从预先加载 100 个按钮(这是一个计算器)到加载大约 15 个按钮,但我试图以一种 secret 的方式进行,这样用户就不会注意到。无论如何,大约有 50 个按钮是不可见的,因为您必须点击 Shift 按钮才能看到它们,因此它们很容易延迟加载。其他的是可见的,但我认为用户不会在启动时点击其中的大部分,因为他们需要先点击一些数字。所以我在 xib 中保留了所有数字键盘按钮和清除按钮,以便在启动时加载它们,但从 xib 中删除了所有其他内容。

这让我在屏幕上留下了一个很大的空白区域,当我懒惰地加载它们时,您实际上可以看到按钮填充了空白区域(填充速度非常快,但是您可以看到空白区域,然后所有按钮都出现了) .所以我更新了背景渐变图形以包含按钮的图像。这些按钮似乎在那里,但实际上并没有,所以除非用户在 2 秒内点击一个假按钮,否则他们永远不会注意到问题……而且通常他们只是尝试再次点击那个按钮,到那时它通常已经延迟加载,因此有效。

关于iphone - 减少 iPhone 应用程序启动时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4230030/

相关文章:

iphone - json返回格式

ios - 如何识别我点击了哪个 UIImageview?

iphone - UILabel - 如何更改文本位置

ios - 从后台打开应用程序时不调用 ViewDidAppear

javascript - 确定 JavaScript 中缓存的 DOM 元素的内存使用情况?

iphone - `[UIImage imageNamed:]` 从哪里加载图像,我如何在运行时将图像插入其中?

iphone - URL 主机名返回 null

iphone - 将核心数据用于 iPhone 应用程序有什么值(value)吗?

c# - 探查器图表中的 "Unmanaged memory"。这是内存泄漏指示吗?

c - c代码的性能