我得到以下代码行:

mainLayer.shadowColor = CGColorCreate( CGColorSpaceCreateDeviceRGB(), components );

当我在xcode中运行Product-> Analyse时,它向我发出警告:
Potential leak of an object allocated on line 176

因此,这意味着我不会释放CGColor。因此,我认为以下是一个好的解决方案:
CGColorRef shadowColor = CGColorCreate( CGColorSpaceCreateDeviceRGB(), components );
mainLayer.shadowColor = shadowColor;
CGColorRelease( shadowColor );

但是我仍然收到相同的泄漏警告。我该如何解决该问题?

最佳答案

您还需要释放色彩空间:

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGColorRef shadowColor = CGColorCreate( colorspace, components );
mainLayer.shadowColor = shadowColor;
CGColorRelease( shadowColor );
CGColorSpaceRelease(colorspace);

关于iOS:如何解决此内存泄漏警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7007751/

10-11 04:43