objective-c内存友好的背景图像方式

时间:2012-05-14 13:24:42

标签: objective-c memory-leaks background-image memory-warning

我有一个ipad应用程序(> 30个视图/页面),每个视图都有一个独特的背景。

问题: 什么是设置背景的最佳方式(内存友好)

有没有比添加更好的方法:uiimageview“backgroundView”作为子视图?

VERSION1:

[[UIImage alloc] initWithData:imageData];

这似乎是视网膜开关的问题

版本2:

self.layer.contents = (id)image.CGImage;

版本3:

UIImage* image = [UIImage imageWithContentsOfFile:fileLocation];

版本2似乎工作正常。也许有人告诉我什么是最好的方法,为什么;)

谢谢你 亚历

2 个答案:

答案 0 :(得分:1)

CGImage对视网膜有问题...版本3。最适合记忆友好!

答案 1 :(得分:0)

在版本2中,您将生成一个新的图像对象,如果不使用ARC,则必须手动释放该对象。版本3使用自动释放的对象。

这两个版本的内存友好性相同。 我更喜欢第3版,因为你不必为了释放记忆而自己做任何事情。

你也可以使用[UIImage imageNamed:@“image-name.png”],它也会生成一个自动释放的对象。

如果您希望它尽可能方便内存,则应考虑使用PVR图像,因为图形硬件本身支持这些图像。

最佳,

弗洛