内存不足android:app为以前使用的屏幕重新分配内存

时间:2015-09-13 08:17:52

标签: android memory bitmap

由于内存不足,我的应用程序崩溃了很多。

我打开了内存工具,注意到内存分配不断增加,因为我只在两个活动之间来回移动:

假设我的时间线为“会话”(列表视图),点击会话会将我带到会话活动。

以下是从时间轴到会话1,然后按返回返回时间线,然后再次进入会话1时会发生什么:

memory allocation graph

我查看了Android的显示位图(https://developer.android.com/training/displaying-bitmaps/index.html)的文档,但它没有解决我的问题

似乎问题在于它为我已经访问过的活动重新分配内存,我知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您正面临内存泄漏问题。我建议您使用leakcanary来检测导致此泄漏的原因。正如它的文档,您可以在Application中初始化它,如:

public class ExampleApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    LeakCanary.install(this);
  }
}

然后在Activity

中使用它
@Override public void onDestroy() {
    super.onDestroy();
    RefWatcher refWatcher = ExampleApplication.getRefWatcher(this);
    refWatcher.watch(this);
  }