我试图在我的代码中找到另一个内存泄漏,但我似乎无法弄清楚 CG Raster Data 是什么。在通过启用自动快照的 VM Tracker 时,CG 栅格数据似乎是唯一增加的部分。这些也稳步增加,而分配没有增加。
我不完全确定 CG Raster Data 是什么,也不知道如何修复它,但是在这一点上,不断增加的占用空间最终会导致内存错误和崩溃,所以这不好!我自己进行文本渲染(使用 CoreText),所以我认为这与它有关。我也在加载图片?
下面是足迹的图像:
更新: 这个问题仍然存在,但有趣的是,我可以将它与 UIFoundations 中的泄漏关联到称为“NSConcreteGlyphGenerator”的东西。似乎只有当我在实际绘制的 CoreText 方法中的属性字符串上调用“boundingRectWithSize:”方法时才会发生这种情况。具体来说,这条线是:
[displayString boundingRectWithSize:CGSizeMake( self.frame.size.width, self.frame.size.height ) options:0 context:nil];
慢慢追查...