0

我的 android 应用程序的内存使用存在一些问题,不知道是什么导致了高内存使用。当我启动我的应用程序时,它使用了高达 40 mb 的内存(DDMS 说),当我打开另一个应用程序时,我的应用程序立即被杀死。

我读了很多关于内存泄漏的文章,我正在解绑可绘制对象,运行 GC 等等,但我的应用程序仍然需要大量内存。

我的应用程序中有大约 3mb 的资源,但是 afaik 它们是按需加载到 ram 中的。我错了吗?这可能会导致 40mb 的内存使用量吗?

编辑:我认为我没有内存泄漏,因为我可以根据需要随时切换每个活动的方向,并且应用程序不会因为内存不足而崩溃。所以它不可能是内存泄漏,不是吗?

4

2 回答 2

0

你使用什么数据结构?非常大的数据结构(长列表、大图、大地图等)会很快耗尽 RAM。

也可能是您在应用程序中的方向更改时泄漏了上下文。

也可能是您的布局与一些繁重的数据结构一起设计得很糟糕。

除非你描述更多关于你的应用试图做什么,否则很难说清楚。

于 2012-08-08T10:41:43.560 回答
0

你需要在你的android应用程序中进行内存管理,请释放不再使用的资源,尝试覆盖Activity的onStop()、onDestroy()、onPause()方法,这些方法将跟踪活动堆栈。

在 OnDestroy() 方法中释放所有可用资源,以便另一个应用程序可以再次使用相同的资源。

于 2012-08-08T10:38:45.353 回答