今天analyze的時候出現(xiàn)這個問題,是用的一個第三方裁剪圖片的類叫VPImageCropper,結(jié)果發(fā)現(xiàn)他里面有問題,看圖大家就明白了.在調(diào)用CGImageCreateWithImageInRect時subImageRef內(nèi)存計數(shù)+1了,但是在后面用完后卻沒release.
那么問題來了,這個VPImageCropper是支持ARC的,也就是說系統(tǒng)遇到這邊就不好用了,釋放不了.這樣就會有內(nèi)存泄露
后來上 stackoverflow 查找 發(fā)現(xiàn)這樣一段話
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的對象 都需要手動來進(jìn)行釋放
加上這句話就好了CGImageRelease(subImageRef),主要是因為subImageRef 沒有自動被釋放珍特。
這時我們再來看下,問題解決了~
記錄一下這個問題檩电,以備其他遇到類似問題的同學(xué)們參考