2010-05-14 92 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. 的末尾看到它。在許多情況下,程序員只需選擇編寫自己的內存管理例程來解決這些問題。