iPad Simulator中的CPU使用率

时间:2014-05-06 12:23:04

标签: ios objective-c ipad

我对涉及iPad模拟器的测试感到困惑。唯一的区别是NSDateFormatter的位置。

第一个场景

NSDateFormatter初始化代码放在一个调度队列中。这意味着每次调用调度队列时都会执行初始化。

输出:

iPad Simulator CPU = 106% (constant)

第二个场景

NSDateFormatter初始化代码放在viewDidLoad方法中。这意味着初始化初始化一次。

输出:

iPad Simulator CPU = 133% (fluctuates +/- 2%)

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

内存分配是最昂贵的非磁盘操作。如果从调度队列中运行短块,则每个块在花时间分配日期格式化器时花费最多。

通过将日期格式化程序初始化移动到viewDidLoad,您只需创建一个日期格式化程序并重复使用它。

课程:如果你可以提供帮助,不要在经常重复的代码中进行内存分配。

答案 1 :(得分:1)

不要在模拟器中检查性能。仅测试设备上的CPU使用情况。模拟器正在您的计算机的intel CPU上运行。始终在真实设备上进行性能测试。您可能正在查看模拟器中的错误或不良实现。