Android dalvikvm内存不足大尺寸映像

Android dalvikvm内存不足大尺寸映像,android,bitmapimage,Android,Bitmapimage,我在网上搜索了一下,但没有找到答案。 如何从SD卡或手机存储器中的图像路径获取大尺寸图像(13 Mb)的位图 我用这个: Bitmap b = BitmapFactory.decodeFile(path); 在这一行得到一个例外 谢谢。这与Java堆大小有关 您可以在2.3或更高版本的设备上使用清单请求更大的堆 有关更多信息,请参见此部分。使用android:largeHeap=“true”解决此问题: <application android:allowBackup="true

我在网上搜索了一下,但没有找到答案。 如何从SD卡或手机存储器中的图像路径获取大尺寸图像(13 Mb)的位图

我用这个:

Bitmap b = BitmapFactory.decodeFile(path);
在这一行得到一个例外


谢谢。

这与Java堆大小有关

您可以在2.3或更高版本的设备上使用清单请求更大的堆

有关更多信息,请参见此部分。

使用android:largeHeap=“true”解决此问题:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher"
    android:largeHeap="true"

这与Java堆大小有关。另外,请看一看,确保在使用完位图后处理它(如果您还没有这样做)。第一次加载时出现的错误意味着没有一次加载图像,因此我认为这不是因为没有回收bitmapI,我99%确定这是java堆大小。关于处理位图的评论只是一个警告。如果不这样做,将导致内存泄漏。:)非常感谢,这对我很有帮助。这里有一个问题,这个解决方案只适用于三星s4,但不适用于s2。告诉我?如果没有更多细节,不可能告诉你。可能是Android版本(此解决方案仅适用于原始答案中提到的2.3及以上版本)。另一个选项是简单地减小正在加载的位图的大小。