Android Activity 继续使用 RAM 内存,即使它们被留下

标签 android memory android-activity android-studio ram

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

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

这是 Memory Monitor 的屏幕截图,红色箭头上升的阶段对应于各种 Activity 的启动。蓝色箭头指示应用程序何时意外退出。 Memory Monitor Android Studio

最佳答案

启动新 Activity 时,像这样设置它的 Intent 标志:

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

或将 android:noHistory="true" 添加到 list 中的 Activity 设置中。 这种方式强制将 Activity 添加到历史堆栈。

你也可以在 onDestory 中清理你的内存看看这个链接:

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

关于Android Activity 继续使用 RAM 内存,即使它们被留下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691271/

相关文章:

android - 项目间共享资源

docker - 在 AWS 上部署容器后部署时出现 OutOfMemoryError

android - Appcompact activity 和 action bar activity 的区别

当我尝试打开一个新 Activity 时,Android 应用程序崩溃

android - 如何从 Android 正确调用 Java 中的非静态函数? (组合中的 Cocos2Dx)

android - 除非正在播放音频,否则不会收到 KeyEvent.KEYCODE_MEDIA_NEXT

java - Android-检测原始.wav文件和已过滤.wav文件之间的差异

Android Studio 当包含 .aar 模块时出现错误 :Execution failed for task ':app:processDebugManifest' . [Duplicat]

python - 在 Python 中使用硬盘而不是 RAM

c - 如何更改存储在内存地址的值