【发布时间】:2014-12-19 14:04:48
【问题描述】:
我正在开发一个 android 应用程序,它有许多可绘制的 png 图像,它有一个包含 10 个表单字段的表单,但是当应用程序运行时,它会占用高达 200 mb 的内存。
该应用程序具有启动画面和四个主要活动。 我正在使用 nexus 10.1 英寸设备 在我见过的logcat中: 将堆(碎片情况)增加到 43.800MB 以分配 7166416 字节
我已将所有图像移至 drawable-xdpi 我使用了 System.gc(); 但是内存问题仍然存在,任何人都可以帮助我解决这个问题
【问题讨论】:
-
“当应用程序运行时,它会占用多达 200 mb 的内存”——这是极不可能的。欢迎您使用
procstats或等效项来更好地了解您的进程占用了多少内存,欢迎您使用 MAT 来确定您正在使用多少堆空间以及该堆空间的用途。 -
正如@CommonsWare 所说,检查你的记忆。 Vogella 写了一个相当简洁的教程vogella.com/tutorials/EclipseMemoryAnalyzer/article.html
-
您使用的是大图吗?还是很多?
-
@Der Golem 我使用大图像作为启动画面,而按钮的图像数量为 130
-
好的,然后问我们为什么您的应用可能会产生 OOM...
标签: android performance memory