Android应用程序中的高内存使用率(50MB)

时间:2016-06-05 21:05:17

标签: android android-layout android-studio memory mobile

我正在为一个学校项目开发一个小的tamagotchi,我在应用程序使用的内存量方面存在很大问题。起初我有200MB分配给应用程序,经过一些研究后,通过将drawable文件夹重命名为drawable-nodpi,我得到了一个简单的修复方法,将其减少到50MB。但这仍然是很重要的。在调查问题时,我确信它与我的布局和UI元素有关,因为我删除了所有代码并仅使用布局启动了我的应用程序,内存使用量根本没有下降。

在这里你可以看到我的布局: App-Layout and Memory-Usage

图像尺寸平均约为30kb,如果我计算内存中可能图像的最大尺寸,我大约有1.5MB。

那么所有的记忆都来自哪里?怎么可能呢?

如果您想亲自查看该应用,可以从github获取该项目: https://github.com/kruben95/TamaStudent

如果有人可以帮助我或给我一些提示,我会很高兴。

1 个答案:

答案 0 :(得分:4)

我下载了你的项目,这里有一些建议:

1)图像是大分辨率,即使在磁盘上它们需要30-40 kb - 在内存中它们是位图并且位图占用大量内存,例如正文部分 - 1200x1980像素,每像素4个字节,这是9,5内存中的兆字节!! ??现在在这个位图得到之后它还必须扩展它 - 这是额外的内存,并且如你所见,你只有一个图像有超过10兆字节!!这非常高。

2)使图像分辨率降低。没有必要显示它们如此高的分辨率。

3)从图像中删除隐形部分 - 因为我看到非常大的部分是清晰的 但需要记忆!

4)尝试以编程方式制作一些图像,如圆圈等。

5)在代码中 - 如果你只需要做背景,就不要使用alpha进行视图,直接用颜色设置这个alpha:#00FFFFFF - 这里是带有alpha 0的白色。如果你使用alpha查看它将需要额外的内存来重绘(性能较低)。

6)谷歌互联网为您的相关主题与标签Best practices,你会发现很多有用的信息)