iphone - 自动引用计数 (ARC) 对内存泄漏的影响

标签 iphone objective-c ios ios5 automatic-ref-counting

我是 iOS 5 和 ARC 的新手,所以请原谅我的愚蠢问题。

如果我们在我们的项目中使用 ARC,是否意味着根本不会有任何内存泄漏。

如果使用ARC,是否需要使用Instruments检测内存泄漏和NSZombies?

最佳答案

ARC 将帮助您消除某些类型的泄漏,因为您不会忘记releaseautorelease 单个对象。例如,这种类型的错误变得不可能:

myLabel.text = [[NSString alloc] initWithFormat:@"%d", 17];
// oops, just leaked that NSString!

但是,ARC 不会消除由保留循环引起的泄漏。消除保留循环仍然取决于您,方法是使用弱引用或在循环泄漏之前手动中断循环。例如,随着我们开始更多地使用 block , block /自保留循环变得更加普遍。 Transitioning to ARC Release Notes讨论如何使用弱引用来避免这些循环。

关于iphone - 自动引用计数 (ARC) 对内存泄漏的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8950989/

相关文章:

iphone - 从 UIViewController 推送 Tabbarcontroller

iphone - ABPeoplePickerNavigationController - 在不使用私有(private)方法/属性的情况下删除 "Cancel"按钮?

iphone - 一个屏幕上的两个 UIViewControllers 没有 SplitViewController

ios - 不兼容的 block 指针类型 - Objective-c

ios - Xcode 7.2 语法高亮显示在 Swift 文件中闪烁

iphone - NSXMLParser 不会忽略 CDATA

ios - ios 7 中 tableview 中的单元格数量错误

ios - 如何使父类(super class)的自定义 init 方法仅对其子类内部可见?

objective-c - 结构是如何按值传递的?

ios - 键值观察的新手;为什么我无法在我的 AppDelegate 中监控 int 的值?