Assets 中的资源文件
BitmapFactory.decodeStream(context.getAssets().open("android.png"));
例1: 格式为 png 。在 assets 的目录下通过 Bitmap 加载。
其中加载格式为 ARGB_8888。出来后大小大概是 58 kb 左右。
计算的方式就是 112 * 131 * 4 = 58688 。也就是 长乘宽在乘4,至于为什么要乘以四,因为格式是 ARGB_8888,每个像素点有四个字节,后面四个8表示8个比特,8个比特就是一个字节。一共四个字节。
例2:上面图片,格式为 jpg。
需要注意的是 jpg 的图片没有 Alpha 通道,也就是说图片不会透明。所以采用 ARGB_8888 加载后前面的 A 是没有啥用的。
所以需要采用 RGB_565 的格式来加载图片。计算的方式就是 112 * 131 * 2 = 29344 ,565 刚好是两个字节。代码如下:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
BitmapFactory.decodeStream(context.getAssets().open("android.png"),options);
如果将 png 的图片使用 RGB_565 格式进行加载,加载出的结果上面也会一样,因为少了 Alpah。