为什么我的内存不足?

时间:2013-03-29 21:39:11

标签: java android bitmap

我有300 x 355的图像,大小只有50 kb。我试图用下面的代码解码它:

Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId)
    .copy(Bitmap.Config.ARGB_8888, true);

根据logcat尝试分配10674000字节。为什么这么多?图像只有50 kb。

1 个答案:

答案 0 :(得分:6)

300 x 355 = 106500像素。

每像素4个字节,即426KB,更接近LogCat报告的分配。

代码中的.copy()命令会将内存翻倍至852KB,稍微接近报告的10.6MB。

您报告的50KB号码可能是.jpg或.png文件的压缩大小,而不是Android使用的未压缩Bitmap