我有300 x 355的图像,大小只有50 kb。我试图用下面的代码解码它:
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId)
.copy(Bitmap.Config.ARGB_8888, true);
根据logcat尝试分配10674000字节。为什么这么多?图像只有50 kb。
答案 0 :(得分:6)
300 x 355 = 106500像素。
每像素4个字节,即426KB,更接近LogCat报告的分配。
代码中的.copy()
命令会将内存翻倍至852KB,稍微接近报告的10.6MB。
您报告的50KB号码可能是.jpg或.png文件的压缩大小,而不是Android使用的未压缩Bitmap
。