【问题标题】:Android: Why is app RAM memory continuously growing?Android:为什么应用程序 RAM 内存不断增长?
【发布时间】:2015-11-11 07:58:41
【问题描述】:

我正在使用3 Activities 开发一个应用程序,并进行了一些测试。我来自Activity 1->2->3->1 等等。我每次都使用finish() 关闭我要离开的活动。但是发生了一些事情:

为我的应用分配的RAM 内存不断增长,我不知道为什么。 18MB 应该是下限,因为这是应用程序开始的地方,24MB 应该是上限,因为Garbage Collector 在需要时出现。

即使它在大约 1 分钟内增长到 36MB(在那段时间里,我从一项活动转到另一项活动,仅此而已)。

谁能告诉我会发生什么?提前致谢!

【问题讨论】:

  • 我认为这不是问题。你的应用内存很好。它在打开新活动时增加,在结束活动时再次减少。我说的对吗?
  • @HusseinElFeky 你是对的,但为什么它会在另外两个阶段(红色箭头指向的阶段)上涨?该应用程序可以管理内存较低的活动,因为我在离开时对每个活动都使用了finish(),并且一次只打开一个活动。
  • 这就是Java管理内存的方式。内存使用量会增加,直到垃圾收集器运行。图表中的每个内存使用量下降都是由释放未使用内存的垃圾收集器引起的。
  • 在需要时进行垃圾收集。运行时决定何时需要。只有在其他地方需要释放内存时才会出现释放内存的问题,而这正是调用垃圾收集器的时候。我看不出有问题。图上有趣的点实际上是 GC 运行之后的那些点,因为如果在 GC 运行之后使用的内存增加了,你可能会遇到问题。
  • @Robert 是的,你可以看到 GC 在哪里运行。但是你也可以看到,在第二次运行 GC 之后,内存被清理了。尽管如此,我的第一个红色箭头指向了 33mb 的新限制。

标签: android android-activity memory ram


【解决方案1】:

我所经历的事情是,这可能是因为使用了高分辨率图像。(不是高尺寸)

问候, 加布里埃尔

【讨论】:

  • 我的活动是基本的,没有图像。每个活动只需一个按钮。不过谢谢你的回答。
  • @Cristi 也可能是因为 Services 和 Timers,但是正如你提到的,你的活动很简单,恐怕我帮不了你:(
猜你喜欢
  • 2012-01-11
  • 2011-02-03
  • 2010-10-08
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-14
相关资源
最近更新 更多