天天看點

android記憶體洩漏和記憶體溢出

android記憶體洩漏和記憶體溢出

記憶體溢出 out of memory是指程式在申請記憶體的時,系統沒有足夠的空間供其使用,導緻記憶體溢出。

記憶體洩漏 memory leak 程式申請記憶體後,無法釋放申請的記憶體空間,導緻記憶體洩漏。少量的記憶體洩露是可以忽略 ,記憶體洩漏過多最終會導緻記憶體溢出。

記憶體優化執行個體

一、Bitmap優化

bitmap是造成記憶體占用過高甚至是記憶體溢出(out of memory)最大威脅,下面是使用bitmap的小技巧。

1、使用适當分辨率和大小的圖檔

inSampleSize 縮放比例,把圖檔加載在記憶體之前,先計算出一個合适的縮放比例,避免不必要的大圖檔載入(inSampleSize =2,圖檔的高和寬都是原來的二分之一,圖檔就是原來的四分之一)

2、及時回收記憶體

使用完Bitmap及時回收,使用bitmap.recycle()方法釋放記憶體資源。

3、使用圖檔緩存

通過使用記憶體緩存(LruCache)和硬碟緩存(DiskLruCache),使用Bitmap。