3

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

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

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

版本1:

[[UIImage alloc] initWithData:imageData];

视网膜开关似乎有问题

版本2:

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

第 3 版:

UIImage* image = [UIImage imageWithContentsOfFile:fileLocation];

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

谢谢亚历克斯

4

2 回答 2

1

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

于 2012-05-14T14:15:58.213 回答
0

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

两个版本在内存友好性方面是相同的。我更喜欢版本 3,因为您不必自己做任何事情来释放内存。

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

如果您希望它尽可能对内存友好,则应考虑使用 PVR 图像,因为这些图像是由图形硬件本机支持的。

最好的,

弗洛

于 2012-05-14T14:19:09.883 回答