我的应用程序大量使用 UIImage 对象来根据用户输入和之前设置的图像更改单个 UIImageView 上的图像。我使用 [UIImage imageNamed:] 来创建我的 UIImage 对象。
我想这不是使用 UIImage 的最佳方式,因为我的内存使用量随着时间的推移不断增加并且永远不会下降。 (当我使用对象分配运行应用程序时才知道这一点,而且我没有使用其他 NSString 变量,只有 BOOL 和 UIImage)
我应该如何有效地使用 UIImage 和 UIImageView 对象来保持较低的内存?
谢谢
最佳答案
[UIImage imageNamed:]
缓存您正在加载到内存中的图像。如果您想一遍又一遍地重复使用同一组图像,这非常有用,但如果您不断地显示不同(或大)的图像,那么您应该使用:
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];
[UIImage imageWithData:imageData];
相反。
关于iphone - 使用 UIImage 时的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/420031/