2013-03-29 44 views
1

我有一个尺寸仅为50 kb的300 x 355图像。我试图用下面的代码对它进行解码:为什么我的内存不足?

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

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

回答

6

300 x 355 = 106500像素。

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

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

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

相关问题