Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android程序內存管理必讀

Android程序內存管理必讀

編輯:初級開發

很多開發者都是從J2ME或J2EE上過來的,對於內存的使用和理解並不是很到位,Android開發網本次給大家一些架構上的指導,防止出現豆腐渣工程的出現。Android作為以Java語言為主的智能平台對於我們開發一些高性能和質量的軟件來說了解Android程序內存管理機制是必須的。 android的Dalvik VM在基礎方面和Sun JVM沒有什麼大的區別僅僅是字節碼的優化,我們要知道什麼時候用gc什麼時候用recycle以及到底用不用finalization,因為Java對內存的分配只需要new開發者不需要顯示的釋放內存,但是這樣造成的內存洩露問題的幾率反而更高。

  1.對於常規開發者而言需要了解 Java的四種引用方式,比如強引用,軟引用,弱引用以及虛引用。一些復雜些的程序在長期運行很可能出現類似OutOfMemoryError的異常。

 2.並不要過多的指望gc,不用的對象可以顯示的設置為空,比如obj=null,這裡android123提示大家,Java的gc使用的是一個有向圖,判斷一個對象是否有效看的是其他的對象能到達這個對象的頂點,有向圖的相對於鏈表、二叉樹來說開銷是可想而知。

 3.android為每個程序分配的對內存可以通過Runtime類的totalMemory() freeMemory() 兩個方法獲取VM的一些內存信息,對於系統heap內存獲取,可以通過Dalvik.VMRuntime類的getMinimumHeapSize() 方法獲取最小可用堆內存,同時顯示釋放軟引用可以調用該類的gcSoftReferences() 方法,獲取更多的運行內存。

 4.對於多線程的處理,如果並發的線程很多,同時有頻繁的創建和釋放,可以通過concurrent類的線程池解決線程創建的效率瓶頸。

 5. 不要在循環中創建過多的本地變量。

 有關Android和Java的系統性能分析,android123將在以後的文章中詳細講述如何調試Java分析內存洩露以及android上的gdb調試器分析得出內存性能改進。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved