ios - 弧内存泄漏和名为iOS的UIImage

标签 ios memory-management uiimageview automatic-ref-counting

嗨,我基本上有两个问题

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/

相关文章:

ios - 在 PhotoKit 中删除 : can you skip "Recently Deleted"?

德尔福内存管理

ios - Xamarin.iOS UITableViewCell ImageView 上的圆角

ios - UIImageView 中自定义 UITableCiewCell 尺寸和分辨率

objective-c - CGAffineTransformMakeRotation 在 CABasicAnimation 之前

ios - 如何删除 UIImagePickerController 中的缩放 slider

ios - swift 的 iOS。多行 UILabel 背景颜色跟随文本

c++ - 我应该如何释放不使用 "new"关键字创建的对象的内存?

c++ - 这是将字符串作为参数传递给函数的内存有效方法。?

swift - 使用 gestureRecognizer 设置 UIImageView 的图像