日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]在android中,圖片使用上,往往會(huì)出現(xiàn)OOM(out of memory)的情況,在這里,我將總結(jié)一些辦法,來(lái)避免OOM的問(wèn)題。先看一張圖:這張圖里,使用的gridView來(lái)顯示圖片,如果圖片數(shù)目

在android中,圖片使用上,往往會(huì)出現(xiàn)OOM(out of memory)的情況,在這里,我將總結(jié)一些辦法,來(lái)避免OOM的問(wèn)題。

先看一張圖:



這張圖里,使用的gridView來(lái)顯示圖片,如果圖片數(shù)目很多,上下滾動(dòng)的時(shí)候,很容易出現(xiàn)OOM的情況。

這里,每張圖片的實(shí)際像素是320*480.這里縮放后,每張圖片的大小是100*100.、

縮放代碼如下:



Options?options?=?new?BitmapFactory.Options();
????????????????????options.inJustDecodeBounds?=?true;
????????????????????BitmapFactory.decodeFile(imagePath,?options);
????????????????????int?scale?=?1;
????????????????????while?(true)?{
????????????????????????if?(options.outWidth?/?2?>=?width?&&?options.outHeight?/?2?>=?height)?{
????????????????????????????options.outWidth?/=?2;
????????????????????????????options.outHeight?/=?2;
????????????????????????????scale++;
????????????????????????}?else?{
????????????????????????????break;
????????????????????????}
????????????????????}
????????????????????Log.i(TAG,?"inSampleSize="?+?scale);
????????????????????options.inSampleSize?=?scale;
????????????????????options.inJustDecodeBounds?=?false;
???????????????????return?BitmapFactory.decodeFile(imagePath,?options);




做點(diǎn)說(shuō)明:

Options這個(gè)類,有兩個(gè)重要的屬性。分別是inJustDecodeBounds 和inSampleSize。

inJustDecodeBounds 表示是否只是解碼邊界信息,也就是,這段代碼

BitmapFactory.decodeFile(imagePath,?options);

之后,options里會(huì)存儲(chǔ)該圖片的高度和寬度信息,而此時(shí)返回的bitmap是為null的。


得到了圖片的高度和寬度之后,我們?cè)倏聪乱粋€(gè)屬性inSampleSize,這個(gè)屬性可以理解為縮放比例,是int類型,縮放比例為2的指數(shù)倍

比如說(shuō)inSampleSize=1時(shí),則表示不縮放,inSampleSize=2時(shí),表示長(zhǎng)和寬都分別縮小到原來(lái)的1/2*2,即四分之一,同理為3時(shí)則為九分之一。

最后縮放出來(lái)的大小,并不是能和要求的大小一模一樣,但是不會(huì)小于指定的長(zhǎng)和寬,可以在LayoutParams里指定長(zhǎng)和寬,即達(dá)到了圖上的效果。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉