【发布时间】:2013-02-03 21:49:06
【问题描述】:
引用 Hillegas Book on Cocoa Programming for Max OS X 的内存管理章节
在 Mac OS 10.7 和 iOS 5 中引入的新解决方案是自动引用计数,通常称为 ARC。 ARC 依赖于原始的保留计数机制,但有一个转折点:编译器会为您管理保留计数的簿记。
我正在编写一个 Max OS X 应用程序,它必须与 10.5 及更高版本兼容,直到 10.8。因此,基于上述内容,我的理解是,如果 ARC 在 10.7 中引入,这是否意味着如果我使用 ARC 在 10.7 平台上构建我的应用程序,该应用程序将无法在 10.5 和 10.6 上运行?因为 ARC 功能是在 10.7 中引入的
如果应用必须兼容 10.5/6/7/8,我应该使用什么内存管理
另外可能很重要的是,我的后端主要是 C++(我知道我必须自己管理 C++ 内存,而不是依赖 ARC)和 Objective-C 的前端
我的开发平台是 10.7 Lion / Xcode 4.3
前辈请多指教。
编辑 从 cmets 我了解到 ARC 也依赖于运行时支持,这基本上意味着它不适合我的情况。无论如何,10.5也不支持它,所以我应该进行手动内存管理吗?
【问题讨论】:
-
密切相关,可能会回答您的问题:ARC on older versions of iOS and OS X
-
好的,如果 ARC 也需要运行时,有什么建议,手动内存管理?
-
@Ahmed:我会使用 MMR。您可以使用 GC,但它在 OS X 10.8 上已被正式弃用,因此如果您想将 10.5 定位到 10.8,最好的选择是使用 MMR。
-
即使我有我的答案,我很惊讶为什么它被认为是重复的,我的最低部署平台是 10.5 'Leopard' 而不是 'snow Leopard' 根据此页面上的答案 ARC 根本不支持'飞跃' 。这是一个重复的问题??? !这个问题是关于“确实支持某种 ARC 的 Snow Leapord”
标签: objective-c cocoa