在产品应用场景内有个需求,Bitmap原图压缩保存。
但是每次保存一个图片,需要500+ms。原本以为是sd卡写的慢。
后来测试发现是图片压缩问题。
试验过CompressFormat PNG和JPEG两种压缩格式。用Android Bitmap接口。
分辨率 640x360 压缩png 质量90 耗时 450~500ms 分辨率 640x360 压缩jpeg 质量90 耗时 30ms
压缩后的大小:
$ ls -alth *.png *.jpg -rw-r--r-- 1 spt 197121 56K 四月 1 14:27 1554097983742.jpg -rw-r--r-- 1 spt 197121 55K 四月 1 13:43 1554097438129.jpg -rw-r--r-- 1 spt 197121 55K 四月 1 13:27 1554096472601.jpg -rw-r--r-- 1 spt 197121 55K 四月 1 13:27 1554096482558.jpg -rw-r--r-- 1 spt 197121 251K 四月 1 13:26 1554096288296.png -rw-r--r-- 1 spt 197121 244K 四月 1 13:20 1554096053232.png -rw-r--r-- 1 spt 197121 251K 四月 1 13:19 1554096007230.png -rw-r--r-- 1 spt 197121 307K 四月 1 11:30 1554089483604.png -rw-r--r-- 1 spt 197121 308K 四月 1 11:24 1554089102016.png -rw-r--r-- 1 spt 197121 304K 四月 1 11:20 1554088870471.png
使用png格式压缩,是无损压缩,32bit图。使用jpg是有损压缩,24bit图。有损压缩更快。