使用“ Time Profiler ”和“ CPU Monitor ”对 iPhone 4 上的应用程序进行了分析,并试图理解它。
鉴于执行时间为 8 分钟,CPU“运行时间”约为 2 分钟。其中大约 67% 在主线程上,其中 52% 来自“自己的代码”。
现在,我可以看到大部分时间都花在枚举数组(和相关工作)、UIKit 操作等上。
问题是,我如何从这些数据中得出任何有意义的结论?即这里发生了一些需要修复的问题。
考虑到应用程序的性质,我可以看到在运行时间(中位数为 70%)内有很多 CPU 负载是不“合理的”。
话虽如此,有些事情确实很突出。在主线程上解析 HTTP 响应,急切地创建对象(也由内存分析支持)。
但是,我在这里寻找的是冒犯代码以及仅基于 CPU 运行时间的有用结论。即在这里花费“太多”时间。
更新
让我尝试并详细说明,以便提供更好的图片。
根据这个应用程序的功能要求,我不明白为什么它不能在 iPhone 3G 上运行。CPU 使用率中位数约为 70%,峰值为 97%,这在 iPhone 4 上看起来只是一个危险信号。
对此最明显的反应是调查代码并从中得出结论。
我希望的是以下形式的明确答案
- 如果您将 25% 到 50% 的时间花在 CA 上,那么您的动画就有问题
- 如果您在与 UIKit 相关的任何事情上花费 1000 毫秒,最好检查您的处理
再说一次,也许没有任何答案,只有在运行时间和 CPU 使用率方面出现问题的迹象。