2010-05-14 69 views
2

是否有任何自动内存管理计划?为什么手动内存管理?

手动管理内存的好处是什么......它是否长期保存内存?

我注意到.Net Windows应用程序 - 它们非常缓慢 - 这部分是由于垃圾收集器不能正常工作?

回答

0

是否有计划进行自动内存管理?

在Mac上 - 10.5上已经有垃圾回收了。

在iPhone上 - 否(从4.0开始)。

手动管理内存的好处是什么......它长期保存内存吗?

When NOT to use garbage collection?

+2

需要引用 - 表示Apple没有计划在iPhone上进行自动内存管理。 – 2010-05-14 09:23:49

+2

还值得注意的是,Mac上的垃圾收集功能可用于10.5及更高版本。 – 2010-05-14 09:24:58

+0

@格拉汉姆:我可以要求引用反过来,因为他说苹果*在iPhone上有GC计划吗? – kennytm 2010-05-14 09:58:06

0

手动内存管理的优点主要是可以明确专门的内存管理你的应用程序,使之最佳,并允许“易”优化(大小和速度)。

自动内存管理在没有必要甚至C++委托知道(有计划为C++添加可选垃圾回收器)时有帮助,但有时您真的需要控制场景后面发生的事情,因为您有更大的视线的应用程序视图比任何编译器或垃圾收集器。

在两者之间做出选择肯定是非常强大的,但它在大多数语言中都不可用。

0

对于实时系统,垃圾回收会对程序的响应性产生负面影响。在他们的书小内存软件中,Weir和Noble讨论了其中的一些问题,你可以在这个section of their book. 的末尾看到它。在许多情况下,程序员只需选择编写自己的内存管理例程来解决这些问题。