嗨,我基本上有两个问题
1)在ios6 xcode 4.2 ARC环境上工作时,是否仍需要处理内存泄漏,因为我知道arc只在作用域的末尾发出调用。
2)声明self.profileImageView.image = [UIImage imageNamed:@"createProfile_addPhoto.png"];
它将图像放置在内存中,这对于屏幕来说是繁重的过程。我在很多地方都读过它,但没有找到替代代码来替代它。有没有更好的解决方案。
只是我需要处理内存问题。
最佳答案
我不知道您的问题我是否理解,但:
1-ARC可以管理Objective-C对象的所有内存,并且在iOS6中还可以管理GCD队列
2-您正在使用的方法将图像缓存在内存中以供进一步调用。因此,如果您多次调用此图像是值得的(除非图像很大)。
如果您需要创建较小的作用域,则可以将代码嵌入@autorelease
块中,这在处理循环时很有用,但是如果您按照我的指示使用-imageNamed:
可以缓存图像。最好使用-imageWithContentsOfFile:
。
ARC中的泄漏几乎是不可能的,如果您要处理的是Core Foundation不透明类型(不会由ARC自动管理),则会发生这种情况。使用ARC可能发生的事情是废弃内存或保留周期,从未听说过使用它的泄漏。
希望这可以帮助,
安德里亚
关于ios - 弧内存泄漏和名为iOS的UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653354/