Android解压缩PNG,会导致潜在的内存不足错误

时间:2013-03-20 13:42:47

标签: android background-image out-of-memory memory-consumption

我正在使用一些png图像作为我的应用程序中的活动背景。这些png文件大多是非常小的图像。例如,我使用的是大小为768x1024的磁盘,实际上是29.6KB。当我在Samsung Note 1上运行应用程序时,我意识到图像实际上消耗了大约。 3MB的内存。因此,Android似乎将PNG文件解压缩为完整的ARGB位图(768x1024x4字节)。我认为这可能是因为需要Android重新采样/调整图像大小并将PNG文件放入drawable-nodpi文件夹,但这导致了相同的内存消耗量。

那么,在这种情况下我该怎么做,我可以以某种方式阻止这种减压行为吗?我必须为这个项目中的许多活动放置许多不同的图像,所以在某种程度上这似乎会导致内存不足错误。我是Android的初学者,我不知道系统如何处理图像资源,所以我可能会错过这里。

1 个答案:

答案 0 :(得分:1)

尝试将这两行添加到清单

中的in to the application tag
android:hardwareAccelerated="false"
android:largeHeap="true" 

但是如果你要构建一个内存效率高的App,不推荐这些, 但这确实有效。