
今天analyze的時(shí)候出現(xiàn)這個(gè)問(wèn)題,是用的一個(gè)第三方裁剪圖片的類(lèi)叫VPImageCropper,結(jié)果發(fā)現(xiàn)他里面有問(wèn)題,看圖大家就明白了.在調(diào)用CGImageCreateWithImageInRect時(shí)subImageRef內(nèi)存計(jì)數(shù)+1了,但是在后面用完后卻沒(méi)release.
那么問(wèn)題來(lái)了,這個(gè)VPImageCropper是支持ARC的,也就是說(shuō)系統(tǒng)遇到這邊就不好用了,釋放不了.這樣就會(huì)有內(nèi)存泄露
后來(lái)上 stackoverflow 查找 發(fā)現(xiàn)這樣一段話(huà)
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的對(duì)象 都需要手動(dòng)來(lái)進(jìn)行釋放
加上這句話(huà)就好了CGImageRelease(subImageRef),主要是因?yàn)閟ubImageRef 沒(méi)有自動(dòng)被釋放。
這時(shí)我們?cè)賮?lái)看下,問(wèn)題解決了~

記錄一下這個(gè)問(wèn)題,以備其他遇到類(lèi)似問(wèn)題的同學(xué)們參考