【发布时间】:2015-08-27 09:20:24
【问题描述】:
如何在 Android 设备上导致内存不足的情况,以便我的 Activity 被销毁,并且关联的 Application 类在我的应用程序处于后台时接收 onTrimMemory()。我的应用程序在后台遇到与被 Android 操作系统杀死有关的恢复问题,并且希望能够单步执行调试器中的代码,但我无法定期生成这种情况,尤其是在连接时到调试器:)
谢谢你, 加里
【问题讨论】:
标签: android android-debug
如何在 Android 设备上导致内存不足的情况,以便我的 Activity 被销毁,并且关联的 Application 类在我的应用程序处于后台时接收 onTrimMemory()。我的应用程序在后台遇到与被 Android 操作系统杀死有关的恢复问题,并且希望能够单步执行调试器中的代码,但我无法定期生成这种情况,尤其是在连接时到调试器:)
谢谢你, 加里
【问题讨论】:
标签: android android-debug
另一种方法:
在您的设备中:
转到设置 -> 开发人员选项并选中“不保留活动”。
这将在后台立即终止您的活动。
【讨论】:
您通常可以通过将您的应用置于后台,然后启动 10-20 个应用(取决于设备)来触发此操作。这最终会导致您的进程被终止,我认为这将在onTrimMemory() 回调之前。
【讨论】:
当您的应用在前台时,您可以通过 shell 杀死缓存的进程
adb shell am kill-all
然后离开你的应用程序(让它进入后台),很快它就会收到一个onTrimMemory() 回调。
发生这种情况是因为系统认为有太多应用正在死机,这应该是内存不足的情况。
【讨论】: