gpt4 book ai didi

objective-c - 生产质量的 Cocoa 应用程序是否使用了垃圾收集?

转载 作者:太空狗 更新时间:2023-10-30 03:34:14 24 4
gpt4 key购买 nike

我主要想知道垃圾回收对性能的影响。垃圾收集的使用是否不适合发布应用程序?

我能想到的另一个问题是,使用垃圾收集可能会导致编程草率。

您是否在您的应用中使用垃圾收集?

最佳答案

垃圾收集用于许多生产质量应用程序。 Xcode、Automator、System Preferences 和其他几个系统应用程序都经过了 GC,并且您可以预期这种趋势会随着时间的推移而持续。

同样,许多开发人员已经接受了 GC 并在他们的应用程序中专门使用它。例如,用于 Mac 的 Intuit 新版 Quicken 和 QuickBooks 是垃圾收集器。

GC 也有很多优点。从我的头脑和个人经验来看:

  • 它使多线程更容易;一个简单的分配是所有权的原子声明

  • 它将大量内存管理卸载到其他内核;它自然是并发的,并从主线程(或计算线程)卸载一堆计算

  • 在许多情况下,分配和释放可以完全在线程的上下文中发生,因此无需全局同步或锁定

  • 收集器在 Mac OS X 的每个版本中都变得更快,并且这种趋势将继续下去(就像系统的其他部分一样)。通过将应用的更多计算负载卸载到系统提供的框架,您的应用将从对底层系统的优化中获得越来越多的 yield 。

  • 因为收集器对内存中的对象图(对象之间的指针)了如指掌,这使得分析和调试变得更加容易。现在的问题不再是“这个悬挂指针是从哪里来的?”,而是“给我一份 list ,说明为什么这个对象停留的时间比我想象的要长?”。

这并不是说没有任何工作可以让您的应用程序在 GC 下以最佳方式工作。肯定有这样的任务!

关于objective-c - 生产质量的 Cocoa 应用程序是否使用了垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com