objective-c - 分配和释放VS。自动释放。为什么和什么时候?

标签 objective-c ios memory-management allocation autorelease

我看到很多人都在分配和释放 NSString。

我知道这样做的好处是字符串会立即释放,而不是通过 autoRelease 释放。

我的问题:

  1. 它是否有效?我是否应该始终更喜欢在 autoRelease 上分配和释放?
  2. 更广泛的是 - 立即分配和释放,然后再次分配在 dealloc 中分配、使用和释放。

将不胜感激任何解释。

谢谢

沙尼

最佳答案

  1. 在大多数情况下,这无关紧要。我认为您应该使用自动释放,因为它使代码更简单,而且 @"string"快捷方式非常优雅。
  2. 基本区别在于发布发生的时间点。就像我说的,在大多数情况下它没有任何区别。如果你想更紧密地控制释放时间,那么你也可以通过滚动你自己的 NSAutoreleasePool 池来实现自动释放。

关于objective-c - 分配和释放VS。自动释放。为什么和什么时候?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401806/

相关文章:

php - 如何循环 "release"内存?

php - APNS 通知已正确发送但一段时间后未收到。为什么?

objective-c - UIScrollView,下拉效果类似CalcBot

iphone - 您如何使用 iPhone SDK 实现可滑动的图像堆栈,例如照片应用程序?

ios - 按钮事件 iOS

iOS 编译库/框架链接器标记为设备而非模拟器编译的问题

javascript - 如何检查我正在查看哪个 javascript id

ios - 没有缺口的 iPhone X 模拟器截图

algorithm - 最佳矩阵转置的缓存未命中率是多少?

iphone - nib 中的自定义单元格何时发布