iOS ViewController Dealloc監聽

疑人發表於2018-04-28

每一次版本迭代,最麻煩的步驟就是檢測記憶體問題,當出現大量的未使用記憶體被無效佔用,會直接導致如下兩種後果:

  • 每次App進入後臺後,當iphone出現記憶體不足,需要釋放app的時候,app總是被優先釋放
  • 更嚴重的甚至會出現由於記憶體問題崩掉的情況

傳統的解決方案有兩種:

  • 要麼是通過控制檯列印dealloc,判斷哪一個ViewController未釋放

  • 要麼是通過Xcode自帶工具進行記憶體分析,然後找出問題所在。

通過分析發現,記憶體出現最多的無效佔用的情況是由於ViewController未釋放的情況,而今天這篇文章就是給大家提供一個新的解決Viewcontroller未釋放的方案:

WKVCDeallocMonitor (此處應有掌聲··· 什麼?不給!我只能自己給自己強行加一個BGM鼓個掌...)

食用效果如下:

gif.gif

當專案中有VC未釋放時,則會在螢幕上方出現一個Leak字樣的可點選檢視,點選後可檢視未釋放的VC的列表,再次點選VC對應的Cell,能檢視其本該釋放之前的生命週期內所執行的VC生命週期方法,進而更容易定位出問題的地點。

  • 現已加入cocoapods豪華午餐:

在Podfile中新增pod 'WKVCDeallocMonitor',再執行pod install,pod下來後,直接執行專案 即可食用,無需更多操作,而且只會在DEBUG模式生效,Release模式即便VC出現洩漏,也不會有Leak字樣圖示顯示

如有疑問可聯絡357863248@qq.com

相關文章