Android 內存知識點,優化,bitmap 緩存

內存優化的絕對大頭就是 bitmap ,這篇文章中夾帶了大量的關于 bitmap 的部分。

寫這篇文章的初衷是因為我在學習 Glide 和 Fresco 這2個圖片加載庫時,其對內存緩存的處理和優化,我發現其中的知識點很多,而且還牽扯出 app 的內存優化出來了。我找的資料很多,期中有一些比較不錯的,這里我記錄下,方便大家學習,內存優化這塊是在太重要了,而且容易混,資料也不好找

對于 Bitmap 來說,5.0 之前可以使用獨立于虛擬機的共享內存,不占 app 的堆內存控件。對于 5.0 之后,Bitmap 就使用 java 堆內存優化技術了(其實還是之前的 inBitmap),所有的 Bitmap 存儲在 對內存中,但是只緩存當前屏幕正在顯示的 Bitmap ,屏幕滑動新的 Bitmap 使用對內存中 Bitmap 不再顯示被回收的內存部分,并且不只是只使用內存空間而且 Bitmap 對象本身也是復用的。看著很好,但是有人說這個就是一廂情愿,實際效果一般。

對于共享內存可以看:

對于 bitmap 可以看:

內存管理的基礎知識看:

對于內存優化的可以看:

對于Glide與Fresco緩存機制對比可以看:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。