我正在使用iOS Instrumentation的Allocations Profiling模板。 我創建了UIView類的擴展,它爲未添加到視圖層次結構的視圖拍攝快照。我想仔細檢查我的新方法消耗多少內存。 我發現我的新方法從堆中分配288字節,如下圖所示。 iOS Instrumentation:如何解釋內存分配模板?
然後我導航到相應的方法,我發現有一個大的內存量如預期。看看下面的圖片。
我的問題是:
- 爲什麼我不能看到這些堆數量龐大?
- 這個龐大的內存在哪裏分配?
- 是否有反映此擁抱數字的特定詳細視圖(Call Tree除外)?
請注意,我不是問什麼是爲視圖拍攝快照的最佳方式。我已經熟悉Apple method snapshotView。我正在做這個練習只是爲了測試我對iOS中內存使用的理解。
羅布感謝您的答案,但我不知道我怎麼能涉及您的答案,我的3個相關的問題? –
你的第一個問題是「爲什麼我沒有看到分配」在我的調用樹中,我的回答是「(a)不要像你那樣過濾調用樹;並且(b)確保選擇圍繞有問題的分配「。你的第二個問題是「這個大分配是從哪裏來的」,沒有人能爲你解答,也沒有向你展示識別分配的不同方法(並且我向你展示了三種不同的方法來完成這個任務)。你的第三個問題是尋找分配的其他機制是什麼,再次,我向你展示了一些替代方案。我不知道我還能做什麼。 – Rob
感謝羅布爲你的答案,但巨大的記憶不會出現沒有任何過濾器,這是因爲你的答案不幫助我。至於b,你沒有回答。最後爲c,我真的很感激你的重要選擇,但他們都沒有透露這個巨大的記憶。因此,我將等待社區中任何可能幫助我回答這些問題的投入。再次感謝。 –