1

我有一个 Android 应用程序,几乎可以在所有 Android 设备上正常运行。最近,我在三星 Galaxy S3 上测试了这个应用程序,它开始在我身上崩溃——它时不时地随机耗尽内存。

当应用程序加载时,它会加载一个启动图像和一个背景图像(大约 100k 大小)。当我在应用程序加载时删除这些图像时,应用程序工作正常。但是当我把它们放在那里时,它会在应用程序加载后随机耗尽内存。我检查了资源目录,该应用程序仅在 Drawable 文件夹中有图像,而不是在任何 drawable-hdpi 或 ldpi 或 mdpi 文件夹中。那么设备是否试图转换这些图像以适应手机的分辨率并且它正在使用所有内存?我们有 hdpi、ldpi 和 mdpi 文件夹的标准图像尺寸吗?任何帮助将不胜感激。

4

1 回答 1

0

我的应用程序在 Galaxy S3 上失败的原因是因为 Galaxy S3 的分辨率比我测试我的应用程序的任何其他手机都要高得多。因此,它为位图分配的内存要高得多,这会导致应用程序在内存不足时崩溃。为了解决这个问题,我在 onDestroy 方法中简单地从视图中删除了位图,它解决了这个问题。

于 2012-09-11T20:14:22.973 回答