由于内存不足,我的应用程序崩溃了很多。
我打开了内存工具,注意到内存分配不断增加,因为我只在两个活动之间来回移动:
假设我的时间线为“会话”(列表视图),点击会话会将我带到会话活动。
以下是从时间轴到会话1,然后按返回返回时间线,然后再次进入会话1时会发生什么:
我查看了Android的显示位图(https://developer.android.com/training/displaying-bitmaps/index.html)的文档,但它没有解决我的问题
似乎问题在于它为我已经访问过的活动重新分配内存,我知道如何解决这个问题吗?
答案 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);
}