objective-c - 自动引用计数是否会在运行时产生成本

标签 objective-c swift memory-management automatic-ref-counting

ARC 在运行时会做任何额外的事情吗? this answer的评论说“ARC 在运行时增加引用计数,并且仅在引用计数达到零时才释放”。这是真的?如果是这样,如果在编译时添加释放调用,为什么要这样做?

最佳答案

ARC 不是免费的 - 它会增加和减少引用计数,并在引用计数为 0 时释放对象。

与手动保留/释放相比,ARC将是正确的,它可能会更少地调用保留/释放,因为它经常知道保留/释放对何时相互抵消,并且保留/释放速度更快,因为它不会call Objective-C 方法调用(在 Objective-C 中,您可以覆盖保留/释放;使用 ARC 则不能)。

关于objective-c - 自动引用计数是否会在运行时产生成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38918389/

相关文章:

ios - 在 Swift 中将 UILabel 的一部分设为粗体

xcode - 如何使用第三方库: SWXMLHash in the playground ?

objective-c - 在 View Controller 之间传递字典

c - 如何在 C 中的结构中包含动态数组?

ios - 如何根据 UITableview 的行数调整 UIScrollView/ContainerView 的高度?

iphone - iOS NSRangeException、索引越界、NSMutable 数组

ios - 即使在导入 MapKit 后仍使用未声明的类型 'MKMapView'

c++ - C++中的指针和内存分配

iphone - Objective-C:将分钟转换为时间

objective-c - 通过多选隐藏 UITableView 上的圆圈