今天analyze的時候出現這個問題,是用的一個第三方裁剪圖片的類叫VPImageCropper,結果發現他里面有問題,看圖大家就明白了.在調用CGImageCreateWithImageInRect時subImageRef內存計數+1了,但是在后面用完后卻沒release.
那么問題來了,這個VPImageCropper是支持ARC的,也就是說系統遇到這邊就不好用了,釋放不了.這樣就會有內存泄露
后來上 stackoverflow 查找 發現這樣一段話
ARC does not manage C-types, of which CGImage may be considered. You must release the ref manually when you are finished withCGImageRelease(image);
也就是 在arc模式下 不是什么東西 都可以釋放 例如C-types的對象 都需要手動來進行釋放
加上這句話就好了CGImageRelease(subImageRef),主要是因為subImageRef 沒有自動被釋放。
這時我們再來看下,問題解決了~
記錄一下這個問題,以備其他遇到類似問題的同學們參考