android - 后压后堆栈上的 Activity ,内存使用情况

标签 android memory memory-management crash activity-finish

我有几个具体问题。

我正在开发一个旅游应用程序。它运作良好,但是长时间启动新 Activity 后,它崩溃了。我使用了调试程序,但我意识到它占用了大量内存,就像 Activity 没有完全关闭一样。

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

在删除一些静态变量并在每个新 Activity 中使用此标志之后
Intent.FLAG_ACTIVITY_CLEAR_TOP 

内存空间被释放。应用程序性能看起来不错,因为它使用了Holder,所以它应该使用大量图像和列表 View

但是,在主要 Activity 中,我放置了相同的onBackPressed代码,但是在按下它之后,该应用未关闭,内存使用量有所减少,但我对此表示怀疑

这是我的问题
  • 应用程序真的关闭了吗?
  • 它仍然存在,因为有最新的应用程序?
  • 内存使用量减少意味着 Activity FLAG_ACTIVITY_CLEAR_TOP和onBackPressed()是否正在工作?
  • 这是
    正确地管理 Activity 的finish()方法?
  • 最佳答案

  • http://developer.android.com/training/articles/memory.html选中此项可能会帮助您解决内存问题。
  • 其次,如果您的应用程序使用Internet连接,请 checkout 代码以检查是否存在Internet连接。
  • 第三,似乎您已经在onCreate()方法中编写了所有代码,因此该应用程序花费了很长时间。利用AsyncTask。
  • 第四,每当您调用finish()方法时,应用程序都会关闭。因此,这是正确的方法。
  • 关于android - 后压后堆栈上的 Activity ,内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981537/

    相关文章:

    java - Google 应用程序引擎 - java.lang.NoClassDefFoundError : com. google.appengine.api.datastore.DatastoreServiceFactory

    android - 传递变量以通过 Android 项目使用

    java - Android GPS 位置追踪器

    c++ - 将大文件加载到内存中并在程序的所有运行时间中保留它是否错误?

    c - C语言中的指针(代码解释)

    c++ - std::vector<std::vector<type>> 用于稀疏矩阵结构或其他?

    c++ - 堆栈内存未释放

    java - http 在页面加载完成之前获取 html

    c - 函数 strcpy() 更改整数数组的值?

    objective-c - 将 block 存储在数组中