【发布时间】:2011-09-27 18:32:41
【问题描述】:
使用新的自动引用计数,您认为这会鼓励新的 iphone 开发人员忽略可可内存管理指南吗?从而促进糟糕的编码?
【问题讨论】:
-
ARC 的许多有用细节仍在 Apple NDA 中,这使得目前很难全面讨论。
标签: iphone memory-management automatic-ref-counting
使用新的自动引用计数,您认为这会鼓励新的 iphone 开发人员忽略可可内存管理指南吗?从而促进糟糕的编码?
【问题讨论】:
标签: iphone memory-management automatic-ref-counting
在某种程度上,是的。我认为内存管理已经是你必须强迫自己注意的事情之一。将其中的大部分自动化会使日常编程更加模糊,因此更容易忽略您确实需要注意的时间。
也就是说,当前系统(非 ARC)也很容易出现问题。即使您确实注意引用计数,您仍然会时不时地发现自己存在难以追踪的泄漏。归根结底,我认为 ARC 是最好的。它节省了很多麻烦,(只需看看这里关于内存管理的问题的数量),但您必须更加了解 ARC 无法处理哪些情况,并避免过度依赖它。
【讨论】:
由于保密协议,我们无法谈论具体细节,但是......
我认为这不会帮助或伤害,至少从人们理解内存管理的角度来看。他们必须遵循命名约定,并理解为什么当他们将方法命名为“create”时,他们会开始收到编译警告……他们仍然会理解并使用自动释放池。他们可能会较慢地理解这一点,但他们最终会找到它。
我认为它会做的是让很多程序的内存使用比以前更正确。由于编译器可以进行优化,它将提高运行时速度。它将消除大量打字和*误*打字。
就像任何主要为您管理内存的系统一样,仍然会有泄漏。哦,是的,会有泄漏(人们会理解他们想要或不想要的 ObjC 内存管理天气的很大一部分原因)......但是崩溃会减少很多,最终这对整个系统中最重要的参与者——每天运行应用程序的人。
【讨论】: