Android活动继续使用RAM内存,即使它们被遗忘

时间:2015-06-07 07:51:08

标签: android memory android-activity android-studio ram

几个月来,我正在为Android创建一个应用程序,我遇到了一个无法解决的问题:我的应用程序在使用几分钟后意外崩溃。感谢Android Studio的“内存监视器”,我可以看到我的应用程序随着时间的推移使用越来越多的内存:当我更改活动时,内存使用量会增加但不会减少,这会导致在分配给任何内存时停止我的应用程序它被使用(256 MB)。

您是否有解决方案确保使用的内存不再随着时间的推移而稳定增加,就像已经腾空的活动继续使用内存一样?

这是内存监视器的屏幕截图,红色箭头上升的阶段对应于各种活动的启动。蓝色箭头表示应用程序意外离开的时间。Memory Monitor Android Studio

1 个答案:

答案 0 :(得分:2)

启动新Activity时,请设置其Intent标志,如下所示:

Intent intent = new Intent(...);
intent .setFlags(intent .getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);

或将android:noHistory="true"添加到清单中您的活动设置中。 这样就强制将活动添加到历史堆栈中。

你也可以在onDestory清理你的记忆,看看这个链接:

android-cleaning-up-memory-on-app-destroy