2011-09-15 53 views
0

在某些博客中,讀到Android中的GC發生在主(UI)線程中,這可能會在UI屏幕上產生遲滯,具體取決於GC執行的頻率。 因此,我想知道如果我手動釋放對象(通過分配空值)是否是一個好主意,這對我沒有用處。 這樣我們可以避免在應用程序中多次執行GC。避免多個垃圾回收執行

請分享您的想法。 謝謝, sku

回答

0

釋放(取消引用)對象,你沒有進一步的使用總是一個好主意。您還可以使用SoftReference,WeakReference和/或WeakHashMap來幫助GC獲取您不介意的東西,如果系統需要空間。

有更多關於Android的氣相色譜系統here的信息。

1

沒有「手動釋放對象」這樣的東西 - 至少不以任何方式對GC有意義。一個對象不會立即被釋放/收集/當你失去對它的所有引用時;它只是變得合格收集。 GC是實際釋放對象的原因,當它覺得這樣做的時候它是這樣做的。

保持GC工作如此艱難的唯一方法是創建更少的對象,特別是臨時對象。少垃圾==少收集。