1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Bitmap对象在内存中的大小和转化为字节流的大小

Bitmap对象在内存中的大小和转化为字节流的大小

时间:2018-08-31 14:52:49

相关推荐

Bitmap对象在内存中的大小和转化为字节流的大小

查看我的博客原文:Android – Bitmap 内存管理

Bitmap对象在内存中的大小

比如我们构造Bitmap时设置宽200,高400,色彩模式为Bitmap.Config.ARGB_8888,那么它在内存中的大小就为200*400*4,色彩模式为Bitmap.Config.RGB_565,那么大小就是200*400*2,这些在内存中是固定大小的。

转化为字节流

比如我们用press(pressFormat.PNG,100,fos);转化为字节流以后发现获取的fos.toByteArray()变小了,这是因为进行了压缩的缘故,相同宽高,不同的bitmap对象,压缩以后大小是不一样的,因为不同的bitmap色彩丰富程度不一样,表达的信息不一样,最终能压缩的大小也不一样。

press压缩是质量压缩,是因为它不会减少图片的像素。它是在保持像素的前提下改变图片的位深及透明度等,来达到压缩图片的目的。进过它压缩的图片文件大小会有改变,但是导入成bitmap后占得内存是不变的。因为要保持像素不变,所以它就无法无限压缩,到达一个值之后就不会继续变小了。所以我们发现有时候设置compress(CompressFormat format, int quality, OutputStream stream)quality参数不起作用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。