搜尋

首頁  >  問答  >  主體

Android压缩图片,程序崩溃

高洛峰高洛峰2770 天前397

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-04-17 16:58:44

    image.compress()這個方法根本不會減少Bitmap的大小,這個實作不了圖片壓縮。所以你baos、isBm都佔用了少的記憶體空間。直接使用inSampleSize來壓縮還好

    回覆
    0
  • PHPz

    PHPz2017-04-17 16:58:44

    按照你的寫法,一個2000*1400的照片的insamplesize會被設置為1,解碼時需要的內存是會飆升很高的
    如果不是對清晰度有特別要求的話,沒有必要把圖片寬高設置成主流螢幕大小,targetsize可以設定為高的一半就可以顯示清楚了
    另外,還可以即時動態監測可用記憶體來動態調整insamplesize

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 16:58:44

    你這兩個方法既然都是接收一個Bitmap的参数,那么在调用时,你肯定已经将图片读取到内存中了。造成内存飙升是肯定的。
    如果要进行图片压缩,那么最好接受图片的存储位置,在读取的时候进行压缩,这里可以通过Options這個類別來進行設置,然後進行保存。
    在圖片壓縮的問題上,盡量不要將原圖加載進內存,如果已經創建了原圖的實例,那麼內存就很容易爆掉的。

    回覆
    0
  • 取消回覆