Android App使用太多内存。如何让它在更少的RAM上运行?

时间:2012-02-21 14:34:14

标签: android debugging ram

我为Android手机构建了一个简单的应用程序(TCHS JROTC),我在Android开发方面相当不错。我在Galaxy S2 Epic 4g上构建了这个应用程序,它处理得很完美。除了Evo 4g和Nexus S等其他手机外,它会在一个特定的屏幕上关闭,该屏幕上有大约8个图片图标。我调试它,它抛出一个错误,说“没有足够的内存”这正是我认为它是因为我的代码是完美无瑕的,并且工作完美。有没有人有任何想法如何使应用程序可能会逐步加载,而不是只是一次性转储带有图标图片的活动?谢谢!

1 个答案:

答案 0 :(得分:0)

如何减少应用内存消耗,可以在图标中使用其他像素编码。

我认为您可以对RGB888,ARGB8888,ARGB4444,RGB565等像素进行编码。如果位图以资产的形式存储,您可以在此处加载位图。此示例来自Beginning Android Games一书。即使您对编写Android游戏不感兴趣,也绝对可以推荐。

InputStream inputStream = assetManager.open("bob.png");
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_4444;
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null, options);

在此示例中,使用ARGB4444编码。例如,它比ARGB8888使用更少的内存。

我只是android编程的初学者。但我认为如果将图像存储在外部存储器/ SD卡上而不是直接将它们放入项目中,它也可能会减少应用程序的内存占用。这样它们将成为生成的.apk文件的一部分。哪个会有一些额外的字节。 :-)请纠正我,如果我错了这一点。我只是在学习。