内存泄漏使用UIColor

时间:2011-08-14 18:56:28

标签: objective-c memory-leaks uicolor

我在这个行中的对象UIDeviceRGBColor的仪器中出现内存泄漏:

[[self navigationController] navigationBar].tintColor = [UIColor colorWithRed:90.0/255.0 green:48.0/255.0 blue:48.0/255.0 alpha:1.0]; 

有任何建议如何解决?

由于

5 个答案:

答案 0 :(得分:2)

也许这个对象被UIKit缓存了?

如果你循环运行1000次命令,你会得到1次泄漏还是1000次?

编辑:请参阅IOS 4.3 UINavigationBar tintColor Leaks。我的上述问题仍然存在,那么

答案 1 :(得分:1)

也许尝试像这样创建一个UIColor实例

UIColor *color = [[UIColor alloc] initWithRed:90.0/255.0 green:48.0/255.0 blue:48.0/255.0 alpha:1.0];

然后设置导航栏色调颜色

self.navigationController.navigationBar.tintColor = color;

然后释放颜色对象

[color release];

如果物体仍在泄漏,则检查仪器后。

答案 2 :(得分:1)

colorWithRed:green:blue:alpha:生成自动发布的UIColor。那应该不是内存泄漏。我假设属性setter也正确合成,因为它是Apple类。所以我没有看到泄漏。

答案 3 :(得分:0)

您的代码中没有泄漏。如果有任何泄漏,那将是Apple的代码(除了提交错误之外你不能做任何事情),但是仪器报告误报的可能性更大。

答案 4 :(得分:-2)

我会设置你的色彩颜色:

[self.navigationController.navigationBar setTintColor:[UIColor colorWithRed:90.0/255.0 green:48.0/255.0 blue:48.0/255.0 alpha:1.0]];