Android 圖片壓縮方法分析與學習
bitmap compress 是官方給出的圖片質量壓縮,通過試驗學習了這個壓縮的特性如下:
- 它是圖片質量壓縮,不會改變圖片的解析度
-
bitmap.compress(Bitmap.CompressFormat.JPEG, option, bos);
三個引數說明,1.圖片壓縮後的格式 2.圖片壓縮比例 3.壓縮後得到的資料
- 這個方法會使圖片壓縮但是,由於是質量壓縮,bitmap不會變小,也就是記憶體依然大,壓縮的資料確實變小使用的時候得注意了記憶體溢位問題
測試方法如下:
System.out.println("bitmap=="+bitmap.getByteCount()); ByteArrayOutputStream bos = new ByteArrayOutputStream(); //通過這裡改變壓縮型別,其有不同的結果 int option = 100; while (option > 0) { bitmap.compress(Bitmap.CompressFormat.JPEG, option, bos); System.out.println("bos=====" + bos.size()); option-=10; bos.reset(); } System.out.println("bitmap==" + bitmap.getByteCount()); bitmap.recycle(); ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); System.out.println("bis====="+bis.available()); bitmap = BitmapFactory.decodeStream(bis); System.out.println("bitmap=="+bitmap.getByteCount()); imageView.setImageBitmap(bitmap);
如果確實要節約記憶體
就是用如下方法:
ByteArrayOutputStream out = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, out); BitmapFactory.Options newOpts = new BitmapFactory.Options(); int be = 2;//壓縮比例,可以自己通過解析度去計算需要的比例值 newOpts.inSampleSize = be; ByteArrayInputStream isBm = new ByteArrayInputStream(out.toByteArray()); Bitmap bitmap = BitmapFactory.decodeStream(isBm, null , null );
相關文章
- iOS 圖片壓縮方法iOS
- Glide 原始碼分析(一):圖片壓縮IDE原始碼
- Android-圖片壓縮(二)-純乾貨Android
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- ??圖片壓縮CanvasCanvas
- canvas 壓縮圖片Canvas
- 圖片壓縮20201109
- excel檔案裡的圖片怎麼壓縮?excel檔案裡圖片的壓縮方法Excel
- 【學習圖片】13.自動壓縮和編碼
- 直播app開發搭建,Android studio 圖片壓縮APPAndroid
- 淺談移動端圖片壓縮(iOS & Android)iOSAndroid
- Android-壓縮大圖到容量超小的圖片Android
- 前端圖片壓縮方案前端
- Photoshop壓縮png圖片
- 前端的圖片壓縮image-compressor(可在圖片上傳前實現圖片壓縮)前端
- 深度學習模型壓縮方法概述深度學習模型
- js上傳圖片壓縮JS
- SmallImage for Mac(圖片壓縮工具)Mac
- js圖片壓縮推薦JS
- JNI實現圖片壓縮
- vue 上傳圖片進行壓縮圖片Vue
- 【前端】壓縮圖片以及圖片相關概念前端
- 圖片壓縮怎樣操作?分享幾種實用的批次圖片壓縮技巧
- png格式如何壓縮,圖片壓縮工具哪個好
- 怎麼轉換圖片格式並壓縮圖片
- 基於 NSData 的圖片壓縮
- 利用 canvas 實現圖片壓縮Canvas
- 前端圖片壓縮及上傳前端
- Bitmap的圖片壓縮彙總
- Image Optimizer for Mac(圖片壓縮工具)Mac
- 影像體積壓縮工具JPEG Jackal更好的壓縮圖片
- Android微信分享圖片按質量壓縮的解決方案Android
- win10怎麼批量把圖片縮小_win10批量壓縮圖片大小的方法Win10
- win10怎麼批次把圖片縮小_win10批次壓縮圖片大小的方法Win10
- JS—圖片壓縮上傳(單張)JS
- gulp-imagemin版本9圖片壓縮
- 使用 JavaScript 壓縮和翻轉圖片JavaScript
- Squeezer for Mac(Mac圖片壓縮軟體)Mac