Xcode Instruments跟踪比较

use*_*495 9 comparison xcode instruments ios

有没有办法比较用Instruments保存的跟踪文件.如何对应用程序的连续实现构建进行任何比较.

以免我说我在2个月内发布iPhone应用程序1.0版1.1.什么是最好的必须在内存和时间方面进行分析比较?

Rob*_*Rob 3

您可以保存跟踪文件。但是为了在将来合理地解释这些结果,在跟踪中插入“标志”以标记重要事件非常有用,以便您可以了解应用程序在跟踪中的显着点正在执行的操作。

过去,我建议包含以编程方式插入的标志,这样您将来就有一些比较的基础,但这在 iOS7 中被打破了。但如果您在 iOS 7.0 之前的模拟器上运行此程序,您可以:

  • 添加DTPerformanceSession.framework到您的项目;

  • 在你的来源中:

    #import <DTPerformanceSession/DTSignalFlag.h>
    
    Run Code Online (Sandbox Code Playgroud)
  • 然后,在源代码中,您可以以编程方式在 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);
    
    Run Code Online (Sandbox Code Playgroud)
  • 从您的项目中删除DTPerformanceSession.framework(添加它的过程让 Xcode 解析标头,但您不想将其保留在 iOS 项目中,否则您将收到链接错误)。

您可能希望保留相应存档的副本,以便可以在将来的某个日期重新符号化跟踪文件。

显然,如果在 iOS7 中进行分析,您可以自己手动添加标志,但这并不像以编程方式进行标记那么优雅或严格。