有没有办法比较用Instruments保存的跟踪文件。如何对应用程序的连续实现构建进行任何比较。
以免我说我在2个月内发布iPhone应用程序版本1.0。什么是最好的内存和时间的分析比较?
答案 0 :(得分:3)
您可以保存跟踪文件。但是为了在将来的某个日期解释这些结果是合理的,在跟踪中插入“标记”以标记重要事件是有用的,这样您就可以在跟踪中的显着点处告诉应用程序正在做什么。
过去,我建议以编程方式插入标记,以便将来有一些比较基础,但这在iOS7中已经破解。但是如果你在7.0之前的iOS模拟器上运行它,你可以:
将DTPerformanceSession.framework
添加到您的项目中;
在您的来源:
#import <DTPerformanceSession/DTSignalFlag.h>
然后,在您的源代码中,您可以以编程方式在Instruments中插入标志(在iOS7之前的模拟器上运行时):
// Point flag (just an event in time)
DTSendSignalFlag("some event", DT_POINT_SIGNAL, TRUE);
// Start flag (to mark the start of something)
DTSendSignalFlag("start some intensive process", DT_START_SIGNAL, TRUE);
// End flag (to mark the end of something)
DTSendSignalFlag("end some intensive process", DT_END_SIGNAL, TRUE);
从项目中删除DTPerformanceSession.framework
(添加它的过程让Xcode解析标题,但您不希望将其保留在iOS项目中,否则您将获得链接错误)。
您可能希望保留相应存档的副本,以便在将来某个日期重新协调跟踪文件。
显然,如果在iOS7中进行性能分析,您可以自己手动添加标记,但它不像以编程方式标记那样优雅或严谨。
答案 1 :(得分:2)
我认为最好的方法是:
Instruments
。点击“图书馆”按钮,然后添加您要跟踪的内容。对我来说看起来像是:
选择iOS设备作为目标。然后你的应用程序进行测试。
我仍然在寻找方法,如何自动执行这些步骤并自动进行主要审核。但现在这是最好的方式,我知道。
希望它有所帮助。
对我而言,它看起来像是: