1

所以我似乎在我正在编写的 Android 程序上遇到了问题。我仍然是菜鸟,所以请帮助我理解问题以及如何解决我的问题。我正在创建一个简单的游戏,我正在为它做所有的图形设计。我的图像是 1024x1024 或 1024x512,分辨率为 300 像素/英寸。是的,我知道我可能已经完成了。我只是希望图形非常清晰并且看起来不错。所有图形都在可绘制文件夹中,而不是在 hdpi、ldpi、mdpi、xhdpi 或 xxhdpi 可绘制文件夹中。现在,我遇到的问题是我的应用程序运行良好,直到我向可绘制文件夹添加了一张 1024x1024 图像。现在,该应用程序在尝试加载图像时崩溃了。我遇到的问题是内存溢出。正在运行什么活动并不重要,似乎一旦达到加载图像的限制,它就会崩溃。我阅读了android分辨率页面http://developer.android.com/guide/practices/screens_support.html但也许我的英语不够好听不懂。我应该将图像大小调整为每种分辨率(hdpi、ldpi、mdpi、xhdpi 和 xxhdpi)吗?当我在我的应用程序中从一个活动移动到另一个活动时,我是否必须清除上一个活动中的 ImageViews 以清理内存?请帮助我了解这是如何工作的。

谢谢大卫

4

2 回答 2

4

具有讽刺意味的是,您使用的方法可能会使您的图像看起来更糟。

当您将光栅图像放在根可绘制文件夹中时,它们被假定为mdpi,并且将按比例放大以适应其他密度。这意味着您的 1024x1024 位图被放大并作为 2048x2048 位图拉入(在大多数情况下,它远大于您可能需要的)。所以是的,你最好的选择是让图像成为特定密度所需的任何大小,并在你需要支持的每个可绘制文件夹中创建单独的图像。

另请注意,您将图像设置为什么分辨率(您提到 300 ppi)并不重要,唯一重要的是像素尺寸。

于 2013-04-13T05:05:34.827 回答
0

我认为您的 vm 预算是错误的。我在处理以前的应用程序时遇到了这个问题。搜索后,我从开发人员指南中找到了解决方案……关闭此 链接希望它可以解决您的问题。谢谢

于 2013-04-13T05:05:23.773 回答