2011-03-24 63 views
0

在Android平臺上開發相當複雜的應用程序(例如訪問文件,數據庫,網絡連接等外部資源)時是否需要處理垃圾收集?或者我應該讓Android始終關注GC嗎?Android中的手動垃圾收集是否必要?

那麼垃圾收集器是否可以讓一名Android程序員免除所有釋放內存的負擔?

如果沒有,那麼有人可以用一個實際的例子來解釋爲什麼這樣嗎?

回答

1

總的來說,GC幫助程序員避免了許多問題,但它不是萬能的。作爲使用GC'ed系統程序員,你必須在分配的生命週期方面擔心兩兩件事:

  • 刪除引用(例如設置變量爲null)對象時,不再需要。如果不這樣做可能會導致內存泄漏。

  • 顯式管理非內存資源,如打開的文件。代表這些事物的對象通常會在對象獲得GC時釋放資源,但作爲程序員,您可能更清楚資源何時不需要。因此,在InputStream上顯式調用close()是最符合您的最佳利益的,而不是讓GC在不再需要很長時間後清理它。