几个月来,我一直在为 Android 创建一个应用程序,但我遇到了一个无法解决的问题:我的应用程序在使用几分钟后意外崩溃。多亏了 Android Studio 的“内存监视器”,我可以看到我的应用程序随着时间的推移使用了越来越多的内存:当我更改 Activity 时,内存使用量增加但没有减少,然后当分配给任何内存时导致我的应用程序停止它已被使用 (256 MB)。
您是否有解决方案来确保使用的内存不再随着时间的推移稳定增加,就好像已经腾出的 Activity 继续使用内存一样?
这是 Memory Monitor 的屏幕截图,红色箭头上升的阶段对应于各种 Activity 的启动。蓝色箭头指示应用程序何时意外退出。
最佳答案
启动新 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 Activity 继续使用 RAM 内存,即使它们被留下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691271/