我正在尝试调查我的应用程序的启动时间非常长,可能需要一些帮助。它大约需要6-7秒才能启动,这实在是太长了。我没有加载任何数据集或任何东西,但这个应用程序是一个计算器,所以我的xib确实有很多按钮和按钮图像。
我想使用Instruments (或其他工具)来分析所有时间都花在了哪里,以便进行优化,但是Instruments的文档并没有给我太多关于如何使用它来解决这个特定问题和/或如何解释结果的细节。
你对如何测试有什么建议吗?指向如何使用Instruments进行此操作的教程的指针?一个iTunes U视频还是别的什么?
欢迎提出任何建议!
肯尼
发布于 2010-11-20 07:16:24
在执行上述任何建议之前:
这是从XCode运行时的6-7秒吗?还是直接在iPhone上点击开始?
调试器和工具在这里帮不了你太多,因为它们只会增加开销,而且在性能分析方面也没有多大帮助,因为它们会毒害你将看到的数据。
编辑:
在性能分析工具方面,您可能需要考虑使用Shark:http://www.switchonthecode.com/tutorials/using-shark-to-performance-tune-your-iphone-app
一般来说,它的使用相当简单。这是不言而喻的。
发布于 2011-08-15 01:59:00
Palimondo问我最终是如何解决我的问题的。这只是一堆小变化,我真的不确定节省下来的钱是从哪里来的,我将在下面解释原因。
我的应用程序是一个计算器,所以它有很多按钮。我一开始以为一定是按钮加载导致了问题,但正如我在上面对Paul的评论中所解释的那样,即使我加载了0个按钮,也只减少了1秒的启动时间。在改变了许多小东西后,我能够节省3秒的启动时间,这已经足够好了。
我有一个背景图像,这是一个很好的纹理渐变图像。我减少了它的文件大小(改变了纹理,用不同的选项导出)。
我从预先加载100个按钮(这是一个计算器)到加载大约15个按钮,但我试图以一种秘密的方式做到这一点,这样用户就不会注意到。其中大约50个按钮是不可见的,因为你必须点击Shift键才能看到它们,所以它们很容易延迟加载。其他的是可见的,但我认为用户在启动时不会正确点击其中的大多数,因为他们需要先点击一些数字。因此,我将所有的数字键盘按钮和Clear按钮都留在了xib中,以便在启动时加载它们,但删除了xib中的其他所有内容。
这让我在屏幕上留下了一个很大的空白区域,当我懒惰地加载它们时,你实际上可以看到按钮填充在空白区域中(填充速度非常快,但你可以看到空白区域,然后所有按钮都会出现)。因此,我更新了背景渐变图形,以包括按钮的图像。这些按钮看起来是存在的,但实际上并不存在,所以除非用户在2秒内点击一个假按钮,否则他们永远不会注意到问题……通常,他们只是尝试再次点击该按钮,到那时,它通常已经懒惰加载,因此工作。
发布于 2010-11-20 06:49:30
这里有几个建议:
https://stackoverflow.com/questions/4230030
复制相似问题