Android-活动继续使用 RAM 内存,即使它们被留下
Android-activities continue to use RAM memory even if they are left
几个月来,我一直在为 Android 创建一个应用程序,但我遇到了一个我无法解决的问题:我的应用程序在使用几分钟后意外崩溃。感谢 Android Studio 的“内存监视器”,我可以看到我的应用程序随着时间的推移使用了越来越多的内存:当我更改 activity 时,内存使用量增加但没有减少,这会导致当分配给它的任何内存被使用时停止我的应用程序 (256 MB)。
您是否有解决方案来确保使用的内存不再随着时间的推移稳定增加,就好像已经腾出的活动继续使用内存一样?
这是内存监视器的截图,红色箭头上升的阶段对应于各种活动的启动。蓝色箭头表示应用程序意外退出。
启动新 Activity 时,像这样设置其 Intent 标志:
Intent intent = new Intent(...);
intent .setFlags(intent .getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
或将 android:noHistory="true"
添加到清单中 activity 的设置。
这样可以强制将 activity 添加到历史堆栈中。
你也可以在 onDestory
中清理内存看看这个 link :
android-cleaning-up-memory-on-app-destroy
几个月来,我一直在为 Android 创建一个应用程序,但我遇到了一个我无法解决的问题:我的应用程序在使用几分钟后意外崩溃。感谢 Android Studio 的“内存监视器”,我可以看到我的应用程序随着时间的推移使用了越来越多的内存:当我更改 activity 时,内存使用量增加但没有减少,这会导致当分配给它的任何内存被使用时停止我的应用程序 (256 MB)。
您是否有解决方案来确保使用的内存不再随着时间的推移稳定增加,就好像已经腾出的活动继续使用内存一样?
这是内存监视器的截图,红色箭头上升的阶段对应于各种活动的启动。蓝色箭头表示应用程序意外退出。
启动新 Activity 时,像这样设置其 Intent 标志:
Intent intent = new Intent(...);
intent .setFlags(intent .getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
或将 android:noHistory="true"
添加到清单中 activity 的设置。
这样可以强制将 activity 添加到历史堆栈中。
你也可以在 onDestory
中清理内存看看这个 link :
android-cleaning-up-memory-on-app-destroy