正如我刚刚了解到的,Android保留随时终止后台应用程序进程的权利,以便回收RAM。该应用程序仍在运行,但仍然可以恢复,但我的所有静态变量都已消失(参见this文章)。
我想模拟我的应用在这种情况下的行为。最简单的方法是什么?当然,必须有一种更简单,更可预测的方式,而不是编写一些分配大量内存的应用程序。
答案 0 :(得分:8)
找到两个类似的问题Simulate killing of activity in emulator和Simulate low battery & low memory in Android。
这些问题的解决方案:
adb shell
kill
的{{1}}进程PID
答案 1 :(得分:5)
答案 2 :(得分:2)
另一种方法是构建一个为你的包调用killBackgroundProcesses()的超级基本应用程序,因为这个方法“与内核杀死那些进程来回收内存相同;系统将负责重启这些进程在将来根据需要。“
答案 3 :(得分:1)
要杀死后台进程(但仍然通过历史记录重新启动),您只需在模拟器或设备上使用activity manager shell命令:
$ adb shell am kill com.my.package