反击后的堆栈活动,内存使用情况

时间:2014-04-10 07:34:07

标签: android memory memory-management crash activity-finish

我有几个具体的问题。

我正在开发一个旅游应用程序。它工作得很好,但经过很长一段时间推出新的活动后它崩溃了。我使用了调试,我意识到它使用了大量的内存,就像活动没有关闭我打电话。

@Override
public void onBackPressed() {
    super.onBackPressed();
    this.finish();
}

删除一些静态变量并在每个新活动中使用此标志

Intent.FLAG_ACTIVITY_CLEAR_TOP 

内存空间得到缓解。应用程序性能看起来很好,因为我使用了Holders

,它使用了很多图像和列表视图

然而,在主要活动中我放置了相同的onBackPressed代码,但在按下它之后应用程序没有关闭,内存使用量减少但我有疑虑

这是我的问题

  1. 该应用程序真的关闭了吗?

  2. 它仍然存在,因为它是最新的应用程序?

  3. 内存使用量减少意味着活动FLAG_ACTIVITY_CLEAR_TOP和onBackPressed()正在运行?

  4. 这是         管理活动的正确方法()?

1 个答案:

答案 0 :(得分:0)

  • http://developer.android.com/training/articles/memory.html检查一下,它可能会帮助您解决内存问题。
  • 其次,如果您的应用使用互联网连接,请检查您的代码,以检查是否存在互联网连接。
  • 第三,似乎你已经在onCreate()方法中编写了所有代码,因此应用程序需要很长时间。使用AsyncTask。
  • 第四,无论何时调用finish()方法,应用程序都会关闭。所以这是正确的方式。