Ios Xcode仪器跟踪比较

Ios Xcode仪器跟踪比较,ios,xcode,comparison,instruments,Ios,Xcode,Comparison,Instruments,是否有任何方法可以比较用仪器保存的跟踪文件。我怎样才能对应用程序的连续实现构建进行比较 假设我发布iPhone应用程序1.0版,然后在2个月后发布1.1版。在内存和时间方面进行分析比较的最佳方法是什么?您可以保存跟踪文件。但是为了在将来的某个日期解释这些结果是合理的,在跟踪中插入“标志”是很有用的,可以标记重要的事件,这样你就可以知道应用程序在跟踪的显著点上做了什么 在过去,我建议以编程方式插入标志,这样将来就有了比较的基础,但这在iOS7中被打破了。但是,如果您在iOS 7.0之前版本的模拟器

是否有任何方法可以比较用仪器保存的跟踪文件。我怎样才能对应用程序的连续实现构建进行比较


假设我发布iPhone应用程序1.0版,然后在2个月后发布1.1版。在内存和时间方面进行分析比较的最佳方法是什么?

您可以保存跟踪文件。但是为了在将来的某个日期解释这些结果是合理的,在跟踪中插入“标志”是很有用的,可以标记重要的事件,这样你就可以知道应用程序在跟踪的显著点上做了什么

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

  • DTPerformanceSession.framework
    添加到项目中

  • 在你的资料中:

    #import <DTPerformanceSession/DTSignalFlag.h>
    
  • 从项目中删除
    DTPerformanceSession.framework
    (添加过程允许Xcode解析标题,但您不希望将其保留在iOS项目中,否则会出现链接错误)

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


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

我认为最好的方法是:

  • 将两个版本的应用程序安装到设备
  • 打开
    仪器
  • 单击“库”按钮并添加要跟踪的内容。对我来说,它看起来是这样的:

    • 活动监视器
    • 分配
    • 时间分析器
    • 网络活动
    • 内存监视器
  • 选择iOS设备作为目标。然后您的应用程序进行测试

  • 在两个版本的应用程序上连续运行相同的场景
  • 现在您可以看到两次类似跑步的对比
  • 只需单击任意一行即可查看跑步的详细信息
  • 我仍在寻找方法,如何自动完成这些步骤,并自动获得一些主要评论。但现在我知道这是最好的办法

    希望能有帮助

    对我来说,它看起来是这样的:


    感谢您的回复,很遗憾,我的应用程序仅限于iOS 7。您的意思是,为了查看跟踪差异,我必须手动查看这些连续构建的跟踪内容。跟踪文件没有“自动比较差异”吗。否则,只能手动跟踪内存和时间分析。完成此操作后,您需要转到“窗口>管理标志”,然后选择显示信号标志,否则在以后的操作系统版本中看不到它们,我们现在可以使用“兴趣点”。
    // 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);