ios – CG栅格数据 – CGProviderCreateWithCopyOfData – 无法释放?

我试图找到内存泄漏的来源,详见此处:

Unable to Release Quartz 2D and Core Text created Images

当我使用乐器时,我可以看到有一种名为CG Raster Data的东西,其尺寸稳步增长,从未发布过.

有谁知道可能导致这种情况的原因以及如何补救?看起来这可能是某种图像缓存,但是可以从代码中清除它吗?

解决方法

通过简单地反复推送和弹出视图控制器,我对CG Raster Data内存的问题也增加了.我花了一段时间以为这是一个绘图代码的问题.我终于将它跟踪到一个代表,并没有弱引用被推送和弹出的视图控制器,所以当我弹出视图控制器时,它没有被释放. CG栅格数据恰好是该视图控制器占用空间的最大部分,所以我错误地将问题归结为最初,当它真的是视图控制器本身没有被释放时(因此,没有发布它的视图,一些其中有CG Raster Data).

简而言之:如果您看到CG Raster Data发生内存泄漏,请查看可能具有视图的视图控制器,并确保它们正在被释放.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...