Bitmap 在内存当中占用的大小影响因素
- 色彩格式,如果是 ARGB8888 那么就是一个像素4个字节,如果是 RGB565 那就是2个字节
- 原始文件存放的资源目录(是 hdpi 还是 xxhdpi 可不能傻傻分不清楚)
- 目标屏幕的密度(同等条件下,红米在资源方面消耗的内存是要小于三星S6的)
- 图片的像素宽高
参考
图片格式大小及内存占用大小的差别
- 图片大小与内存占用大小的差别
虽然JPG
通常会比png
文件size更小,但是读到内存中的大小并没有实质差别。
-
Google全新的
WebP
格式
WebP
具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEG 和 PNG 上的转化效果都相当优秀、稳定和统一。参考
相较于传统动态GIF/GIF/JPG/PNG,体积优势明显。
WebP与其它格式文件对比 -
GIF/JPG/PNG/WebP比较
GIF是无损的,采用索引色的,点阵图。支持动画及透明度。
JPG(JPEG)是有损的,采用直接色的,点阵图。无aplpha通道。jpg 的图像压缩算法比 png 耗时,这种编码适用于低对比,图像颜色过渡平滑,噪声多,且结构不规则的情况下。
PNG-8是PNG的索引色版本,是无损的,采用索引色的,点阵图。支持透明度调节。
PNG-24是PNG的直接色版本,是无损的,使用直接色的,点阵图。
WebP是同时支持有损和无损压缩的,使用直接色的,点阵图。支持图片透明度。
图片大小比较:通常地,PNG ≈ JPG > GIF > WebP
参考 -
选择适合的图片压缩格式
选择适合的图片压缩格式
Bitmap与Drawable
- 定义
Bitmap存储图片的像素信息
Drawable为抽象类,表示可被绘画的容器。Drawable具体实现的形式可以为:Bitmap/Nine/Shape/Layers/States/Levels/Scale。 - 转化
BitmapDrawable是Drawable的具体实现类,可通过构造函数将Bitmap转成Drawable,也可从BitmapDrawable从获取Bitmap。
参考
RGB(three-digit converted to six-digit)
(#f03) == (#ff0033)
expalain:The three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros. For example, #fb0 expands to #ffbb00. This ensures that white (#ffffff) can be specified with the short notation (#fff) and removes any dependencies on the color depth of the display.
网友评论