2013-11-28 65 views
7

有什麼方法可以比較儀器保存的跟蹤文件。我如何才能對應用程序的連續實現構建進行比較。Xcode儀器跟蹤比較

好吧,我發佈iPhone應用程序1.0版,然後在2個月1.1。什麼是最好的內存和時間方面有一個分析比較?

回答

3

您可以保存跟蹤文件。但爲了在未來日期解釋這些結果是合理的,在蹤跡中插入「標誌」以標記重要事件是很有用的,這樣您就可以知道應用程序在蹤跡中的顯着點處做了什麼。

在過去,我建議包含以編程方式插入的標誌,以便將來有一些比較的基礎,但是這在iOS7中被破壞了。但是,如果你之前7.0運行此上與iOS模擬器,您可以:

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

  • 在源:

    #import <DTPerformanceSession/DTSignalFlag.h> 
    
  • 然後,在你的源代碼,你可以通過編程方式插入儀器標誌(預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項目中,否則你會得到鏈接錯誤)。

你可能要保持各自的檔案的副本,以便您可以在將來的某一天resymbolicate跟蹤文件。

顯然,如果在iOS7中進行性能分析,您可以自己手動添加標誌,但它不像編程標記那麼優雅或嚴格。

+0

感謝您的答覆,不幸的是我的應用程序是iOS的7只。你所說的是,爲了看到跟蹤差異,我必須手動查看這些連續構建的跟蹤內容。沒有跟蹤文件的「自動比較差異」。否則,記住內存和時間分析似乎只能手動進行。 – user3017495

+0

完成此操作後,您需要轉到窗口>管理標誌,然後選擇顯示信號標誌,否則您將看不到它們。 – Dov

+0

在以後的操作系統版本中,我們現在可以使用「興趣點」。 http://stackoverflow.com/a/39416673/1271826 – Rob

2

最好的辦法,我明白的是:

  1. 安裝應用這兩個版本的設備
  2. 打開Instruments
  3. 點擊「庫」按鈕,添加你想跟蹤。對我來說,它看起來就像是:

    • 活動監視器
    • 分配
    • 時間探查
    • 網絡活動
    • 內存監視器
  4. 選擇作爲目標您的iOS設備。然後你的應用程序來測試。

  5. 在兩個版本的應用程序上連續運行相同的方案。
  6. 現在你可以看到你的2個類似的跑步的比較。
  7. 只需單擊任意一行即可查看運行的詳細信息。

我仍在尋找方法,如何自動執行此步驟並自動獲得一些主要評論。但現在這是我知道的最好的方式。

希望它有幫助。

對於我來說,它看起來像:

xcode-instruments-trace-comparison