我试图找到内存泄漏的来源,如下所示:

Unable to Release Quartz 2D and Core Text created Images

当我使用仪器时,我可以看到有一些称为CG栅格数据的东西在不断增长,从未发布过。

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

最佳答案

我只是通过反复插入和弹出 View Controller 来增加CG Raster数据内存的问题。我花了一段时间思考这是一些绘图代码的问题。最终,我找到了一个没有弱引用正在被推和弹出的 View Controller 的委托(delegate),因此当我弹出 View Controller 时,它并没有被释放。 CG Raster数据恰好是该 View Controller 占用空间的最大部分,因此我误将问题归因于最初是因为实际上并没有释放 View Controller 本身(因此,不释放其 View ,其中一些具有CG栅格数据)。

简而言之:如果您发现CG Raster Data内存泄漏,请查看可能带有 View 的 View Controller ,并确保它们已被释放。

关于ios - CG栅格数据-CGProviderCreateWithCopyOfData-无法发布?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20516858/

10-12 14:46