將IDE升級至VC2022後的好處,即可使用VC2022提供的診斷工具檢測記憶體。 # 前置知識 Stack(堆疊) 儲存區域變數及函式,速度快不需額外管理。 Heap(堆積) 動態記憶體分配的空間,大小受裝置物理所限制,開發者需謹慎管理避免Memory leak。 Heap的記憶體檢測就是本篇的主角 # 診斷工具 在應用程式運行時自動會跳出診斷工具,切換到記憶體使用量,擷取快照。  **配置數 Objects(Diff)** 當前物件配置數量及與上次快照差異。 **堆積大小 HeapSize(Diff)** 當前Heap大小及與上次快照差異。  只能看到原生層堆疊圖,但聊勝於無,搭配應用程試運行歷程可以更明確分析目前記憶體是否正常。 # 實例分析  掛機狀態的記憶體用量  開始自動玩後記憶體用量 對比可發現自動玩前記憶體相對穩定,開始掛機自動玩後記憶體開始大幅增長,更進一步分析Object及Diff,會發現有大量物件增長,但可惜此工具無法明確獲取lua物件類型,只能透過堆疊圖知道是由原生層建構式產生觀察物件類別,進一步縮小檢測範圍。 參考: https://learn.microsoft.com/zh-tw/visualstudio/profiling/memory-usage?view=vs-2022
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up