android記憶體洩漏和記憶體溢出
記憶體溢出 out of memory是指程式在申請記憶體的時,系統沒有足夠的空間供其使用,導緻記憶體溢出。
記憶體洩漏 memory leak 程式申請記憶體後,無法釋放申請的記憶體空間,導緻記憶體洩漏。少量的記憶體洩露是可以忽略 ,記憶體洩漏過多最終會導緻記憶體溢出。
記憶體優化執行個體
一、Bitmap優化
bitmap是造成記憶體占用過高甚至是記憶體溢出(out of memory)最大威脅,下面是使用bitmap的小技巧。
1、使用适當分辨率和大小的圖檔
inSampleSize 縮放比例,把圖檔加載在記憶體之前,先計算出一個合适的縮放比例,避免不必要的大圖檔載入(inSampleSize =2,圖檔的高和寬都是原來的二分之一,圖檔就是原來的四分之一)
2、及時回收記憶體
使用完Bitmap及時回收,使用bitmap.recycle()方法釋放記憶體資源。
3、使用圖檔緩存
通過使用記憶體緩存(LruCache)和硬碟緩存(DiskLruCache),使用Bitmap。