1
我有一張尺寸爲2560 x 1920的磁盤上的照片。這往往太大,無法加載到內存中,所以我試圖使用BitmapFactory.Options.inSampleSize來節省內存。從文檔:BitmapFactory.Options.inSampleSize未被尊重?
inSampleSize:如果設置爲值> 1,請求解碼器對原始圖像進行二次採樣,返回一個較小的圖像以節省內存。
這是我如何使用它:
BitmapFactory.Options optsDownSample = new BitmapFactory.Options();
optsDownSample.inSampleSize = 3;
Bitmap bmp = BitmapFactory.decodeFile(path, optsDownSample);
但應用程序仍然在最後一行有時會崩潰那裏,從logcat中我可以看到它試圖分配〜5MB,而且我懷疑這是因爲下采樣並不真正被尊重。
其他人知道這裏可能會發生什麼,我是否正確使用inSampleSize?
感謝
這可能是inSampleSize應該是2的冪?看到http://stackoverflow.com/questions/477572/android-strange-out-of-memory-issue/823966#823966 – Torid
嗯可能,文件只是說兩個權力更容易榮譽,我會給它一槍,謝謝指出! – user291701
好像現在好了,謝謝! – user291701