Android活动继续使用RAM内存,即使它们没有内存

Android活动继续使用RAM内存,即使它们没有内存,android,memory,android-activity,android-studio,ram,Android,Memory,Android Activity,Android Studio,Ram,几个月来,我一直在为Android创建一个应用程序,但我有一个无法解决的问题:我的应用程序在使用几分钟后意外崩溃。多亏了Android Studio的“内存监视器”,我可以看到我的应用程序随着时间的推移正在使用越来越多的内存:当我更改活动时,内存使用量会增加,但不会减少,这会导致应用程序在使用分配给它的任何内存(256 MB)时停止 您是否有一个解决方案来确保所使用的内存不再随着时间的推移而稳步增加,就像已经腾空的活动继续使用内存一样 这是内存监视器的屏幕截图,红色箭头所示的阶段上升对应于各种活

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

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


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

启动新活动时,设置其意图标志,如下所示:

Intent intent = new Intent(...);
intent .setFlags(intent .getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
或者将
android:noHistory=“true”
添加到清单中的活动设置中。 这样可以强制将活动添加到历史堆栈中

您还可以在
onDestory
中清理内存。请查看以下链接:


释放存储区上的内存您是否使用第三方图书馆?我只使用Unity Ads SDKMaybe此帮助与
意图有何关联。标记活动\u否\u历史记录
内存泄漏?@omainegra每当您进入新活动,上一个活动存储在后堆栈中,因此需要内存。通过使用
标记活动\u否\u历史记录
,您可以告诉您的应用程序不在后堆栈(内存)中存储活动,如果您清除它,应该如何返回历史记录。问题是在其他地方,我的应用程序在历史上有5到6个活动,从来没有出现过内存泄漏。当android应用程序进入后台时,它将清除我的活动…为此,我能做什么????