Android Managing Bitmap Memory And Loading Large Bitmaps Efficiently

  除了圖片緩存外,還有一些方法可以優化 gc 和圖片的重用。具體的方法和不同的 Android 版本有關。你可以通過後面提供的 demo 來學習如何在不同版本的 Android 版本上高效地處理圖片。
  在 Android 2.2(API 8)及更低的版本中,當 gc 觸發的時候,app 的主線程會被阻塞,這樣會降低應用性能和用戶體驗。從 Android 2.3 開始,gc 變成了併發的操作,這樣當 bitmap 不再被引用時,它就會很快地被回收掉。在 Android 2.3.3(API 10)及之前的版本,bitmap 的像素數據是被存儲在 native memory 裏面的,而 bitmap 對象本身卻被存儲 Dalvik heap 中。在不同的環境中,native memory 中的像素數據被釋放的方式、時機是不同的,這可能會造成內存溢出。從 Android 3.0(API 11)開始,bitmap 對象和其像素數據都被存儲在 Dalvik heap 中,從而解決了前面的問題。
  下面討論在不同的 Android 版本中,如何管理優化 bitmap 的內存。

一. Android 2.3.3 及更低版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章