【发布时间】:2011-06-17 11:47:38
【问题描述】:
在 iOS 上使用 Objective-C 进行开发时,内存管理目前必须由开发人员执行。其他一些移动平台使用自动垃圾收集来消除管理内存的需要。
iOS 设备上不使用垃圾收集的原因可能是什么?
【问题讨论】:
-
误导性标题(但标签正确)。 Objective-C 有 GC,但在 iOS 上没有。
-
a) 主观和争论 b) 稍等。
-
我建议我们对保留的内容和不保留的内容有更多的控制权。但是,它确实在对象上有
autorelease,这是一种垃圾收集。 -
我认为这个问题是有效的。我相信其他人已经考虑过这一点,并且接受的答案可能会为 Obj-C 和 Cocoa-Touch 的工作原理提供一些更深入的了解。想想看;)
-
@Sherm Pendley,在一个简单的项目中工作量并不大。随着项目的复杂性和循环引用的增长——在所有现代语言中,我们认为这是理所当然的“免费”——确保你的对象实际上保留在正确的点的噩梦会增加很多项目开销。此外,由于对象引用在令人惊讶的时间被释放,调试起来有点困难。
标签: iphone objective-c garbage-collection