今天在測試的時候發現乙個異常,bitmap縮放的尺寸沒有達到預期的效果,於是我對options物件輸出日誌發現,這個尺寸是正常的,
log.e("tag", "w: "+options.outwidth+" h:"+options.outheight);
09-06
08:41:25.536: e/tag(18964): w: 200 h:200
但是不管重啟ide還是刪除apk重新安裝都是一樣,顯示效果始終不對!後來我把bitmap的尺寸也進行了輸出,一看就納悶了!?
log.e("tag", "bitmap.w: "+bmp.getwidth()+" bitmap.h:"+bmp.getheight());
09-06
08:54:19.952: e/tag(31005): w: 200 h:200
09-06
08:54:20.156: e/tag(31005): bitmap.w: 400 bitmap.h:400
後來我發現,bitmapfactory.options的寬與高是的原尺寸,而bitmap的寬高與資源檔案所存放的位置和裝置的螢幕大小有關,比如我的螢幕寬是1024,高是552,如果我將資源檔案存放於drawable_xhpdi,那麼就算我們計算出來的原圖尺寸縮小一倍,但是如果我將資源檔案存放於drawable_mhpdi,尺寸就剛好合適了。所以存放於不同位置也會影響的展示,具體存放位置可以參考這篇文章:android drawable微技巧
不過如果可以存放於sd卡或者記憶體的話,我覺得還是存放於記憶體或者sd卡比較好!
bitmap與2 bitmap使用總結
bitmap是一種簡單的資料結構,但在儲存空間壓縮方面卻使用廣泛。bitmap就是用乙個bit位來標記某個元素是否存在 1表示存在,0表示不存在 而2 bitmap就是用兩個bit為來標記某個元素出現的次數 00出現0次,01出現1次,10出現2次及其以上,11無意義。2 bitmap在記憶體中的表...
Bitmap與Byte Drawable之間的轉換
1 bitmap 轉化為 byte bytearrayoutputstream out new bytearrayoutputstream bitmap.compress bitmap.compressformat.png,100,out byte array out.tobytearray 2 b...
Bitmap的載入與快取
android系統中一般用bitmap物件表示,它支援png,jpg等常見格式。通常情況下的體積都比較大,單個應用允許使用的記憶體又是有限的,所以我們需要採取一些手段減少記憶體占用並提高載入速度。假設我們用imageview顯示,通常它的尺寸要比的尺寸小很多,那麼把整個載入進記憶體顯然是沒有必要的。...