2012-08-28 105 views
5

三星Galaxy S3几乎立即在我的应用中使用32mb的heapsize,几乎在任何其他安卓设备上,它以+ - 5mb开头(在logcat中看到这一点,可以从两个不同的设备发送截图如果需要的话)。认为这是我的应用程序崩溃的原因,仅在Galaxy s3上出现“OutOfMemory”异常,完美适用于银河Y Duos和Pocket。三星Galaxy S3上的“OutOfMemory”例外

任何帮助/建议为什么发生这将不胜感激谢谢。

+1

什么是OOM异常被抛出?您是否使用Bitmaps,Buggy API,明确帮助您。 –

+1

在位图工厂解码期间抛出。然而,我试图找出为什么它只发生在Galaxy S3上它在任何其他Android手机上运行都很完美,我的实际问题是“银河系统有没有比其他Android手机使用更多的堆栈?” – SpetsnaZ

+0

您正在测试的手机是否运行相同的Android操作系统版本? – harism

回答

1

正如马里奥所说,问题是s3分辨率比其他模型高,所以图像尺寸更大,因此也是内存消耗。

尽管值得一提的是S3似乎有一点点的最大堆大小提供了它的分辨率,因为我也有它的内存不足的问题,但与其他具有相同分辨率的设备有一个堆限制更高。

0

OOM在大多数情况下是不加载位图或类似这样的,但主要是其对GPU的基础阅读本link这一个too只是look at this solution for various situation caused by OOM

在这里,在我来说,我已经取代了它从试图加载图片可绘制你可以使用drawable-nodpi

在我的应用程序中,有drawable-hdpi拥有应用程序的所有图像。在大多数设备上,没有问题。在S3上,应用程序会占用2倍的内存,然后遇到内存不足的问题。

我刚刚创建了drawable-xhdpi文件夹,其内容与drawable-hdpi文件夹相同,并在S3上运行。立即注意到内存占用是1/2,并且没有内存不足问题。