我有一个ipad应用程序(> 30个视图/页面),每个视图都有一个独特的背景。
问题: 什么是设置背景的最佳方式(内存友好)有没有比添加更好的方法:uiimageview“backgroundView”作为子视图?
VERSION1:
[[UIImage alloc] initWithData:imageData];
这似乎是视网膜开关的问题
版本2:
self.layer.contents = (id)image.CGImage;
版本3:
UIImage* image = [UIImage imageWithContentsOfFile:fileLocation];
版本2似乎工作正常。也许有人告诉我什么是最好的方法,为什么;)
谢谢你 亚历答案 0 :(得分:1)
CGImage
对视网膜有问题...版本3。最适合记忆友好!
答案 1 :(得分:0)
在版本2中,您将生成一个新的图像对象,如果不使用ARC,则必须手动释放该对象。版本3使用自动释放的对象。
这两个版本的内存友好性相同。 我更喜欢第3版,因为你不必为了释放记忆而自己做任何事情。
你也可以使用[UIImage imageNamed:@“image-name.png”],它也会生成一个自动释放的对象。
如果您希望它尽可能方便内存,则应考虑使用PVR图像,因为图形硬件本身支持这些图像。
最佳,
弗洛