簡體   English   中英

為什么在模擬器中啟動應用程序后 xcode 控制台輸出緩慢?

[英]why is xcode console output sluggish after app launch in simulator?

在昨天的馬拉松比賽中(從早上 7 點到午夜過去),我突然遇到一個問題,即在模擬器中啟動應用程序后,立即點擊帶有打印到控制台的按鈕和滑動視圖不會導致任何更改大約 15 秒。 最終(10 - 15 秒)控制台輸出出現,視圖滑動,看起來又正常了。

我在 Big Sur 11.2.3 上使用 Xcode 版本 12.5 (12E262)

我看過這些,還有無數其他的:

iPhone模擬器突然開始運行很慢

加載項目時 Xcode 在啟動時凍結

我從派生數據中刪除了項目的文件夾,我確認沒有選中“慢速動畫”。 我沒有刪除“xcuserdata”文件夾。 我只是不知道去哪里調試這個問題。 有沒有人見過這種行為? 我是否口吃並按下了組合鍵(Shift 和 CMD-T 上的三擊都用於切換我學到的慢速動畫)? 我覺得我已經添加了觸發這個的代碼,但我不能確定。 我花了一整天的時間重構我的項目,以減少 Objective-C 和 UIKit 代碼並更好地利用可組合架構 (TCA)。 如果人們建議我可以執行的調試步驟,我會嘗試並報告。 我只是不知道如何繼續調試這個問題。

當天更改之前的備份不會出現此行為。 我將項目復制到一個新目錄,並用備份的源代碼替換了所有源代碼。 這很好用。 所以我可能會在昨晚從下午 3 點到午夜失去工作,或者在我有磁盤空間來安裝 12.5.1 之前忍受這個

任何見解將是最受歡迎的

所以我運行了一個計時器配置文件——看這篇很棒的文章:

https://www.avanderlee.com/debugging/xcode-instruments-time-profiler/

我想出了這個:

第一張快照

這導致了這個:

第二個快照

我明白我在哪里引入了問題:

var selectedNibIndex: Int = 0 {
        didSet {
            brush = WDBrush.from(index: selectedNibIndex)!
            cameoImage = BrushStrokeImageView(paintBrush: brush)
            dictionary = brush.wdPropertiesDictionary() as! [String: WDProperty]
        }
    }

這是新代碼,它被放置在一個不斷重建的結構中。

我會把它搬出去。

**

我想我的問題的答案是在時間分析器下運行該應用程序,讓它告訴您問題出在哪里。

**

馬拉松比賽並不總是一個好主意。 如果我沒有咬掉這么大的任務,我會早點發現問題。 有兩個小時的時間無法編譯,我不應該讓這種情況發生。 當我在進行一些更改后編譯它時,我已經更改了很多東西,我再也看不到樹木的森林了。

我希望這可以幫助其他人,感謝閱讀!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM