cal*_*ugh 7 cocoa garbage-collection objective-c
我主要想知道垃圾收集对性能的影响.对于发布应用程序,垃圾收集的使用是否令人不悦?
我能想到的另一个问题是使用垃圾收集可能会导致编程更加糟糕.
您是否在应用中使用垃圾回收?
bbu*_*bum 22
垃圾收集用于许多生产质量应用程序.Xcode,Automator,系统偏好设置和其他几个系统应用程序是GC'd,您可以预期这种趋势会持续一段时间.
同样,许多开发人员已经接受了GC并且只在他们的应用程序中使用它.例如,Intuit用于Mac的Quicken和QuickBooks的新版本是垃圾收集的.
GC也有许多优点.脱离我的头脑和个人经验:
它使多线程更容易; 简单的分配是所有权的原子声明
它将一堆内存管理卸载到其他内核; 它自然是并发的,并从主线程(或计算线程)卸载一堆计算
在许多情况下,分配和释放可以完全在线程的上下文中发生,因此消除了对全局同步或锁定的任何需要
每次发布Mac OS X时,收集器都会变得更快,并且这种趋势将继续下去(就像它与系统的其他部分一样).通过将更多应用程序的计算负载卸载到系统提供的框架,您的应用程序将从底层系统的优化中获得越来越多的收益.
因为收集器非常了解对象图 - 对象之间的指针 - 在内存中,它使分析和调试变得更加容易.现在的问题是"给我一个清单,说明为什么这个物体比我想象的要坚持的时间更长?",而不是"这个悬垂的指针来自哪里?".
这并不是说没有工作要做,以使您的应用程序在GC下以最佳方式工作.肯定有这样的任务!
小智 5
自20世纪60年代以来,垃圾收集一直存在,并在许多已发布的应用程序中使用.所有.NET应用都使用垃圾回收.Apple在Xcode中使用libauto.
垃圾收集通常会导致Cocoa中的应用程序质量更高,因为开发人员可以免除内存管理负担.有大量的Cocoa应用程序泄漏!(虽然它可能没有大量的内存)
我倾向于使用gc,因为我可以更快地扭转我的应用程序,而不必担心消息传递僵尸对象!
| 归档时间: |
|
| 查看次数: |
1568 次 |
| 最近记录: |