Android模拟器:由于内存不足而模拟进程重启的简便方法?

时间:2012-01-03 10:12:53

标签: android memory process emulation multitasking

正如我刚刚了解到的,Android保留随时终止后台应用程序进程的权利,以便回收RAM。该应用程序仍在运行,但仍然可以恢复,但我的所有静态变量都已消失(参见this文章)。

我想模拟我的应用在这种情况下的行为。最简单的方法是什么?当然,必须有一种更简单,更可预测的方式,而不是编写一些分配大量内存的应用程序。

4 个答案:

答案 0 :(得分:8)

找到两个类似的问题Simulate killing of activity in emulatorSimulate low battery & low memory in Android

这些问题的解决方案:

  • 使用来自adb shell
  • kill的{​​{1}}进程PID
  • 使用DDMS
  • 杀死它

答案 1 :(得分:5)

简短回答:如果您使用的是模拟器,请更改方向。如果使用实际设备,请转到设置更改设置 - >开发者选项 - >不要保持活动。

请参阅我对thisthis的回答,以获取详细说明。

答案 2 :(得分:2)

另一种方法是构建一个为你的包调用killBackgroundProcesses()的超级基本应用程序,因为这个方法“与内核杀死那些进程来回收内存相同;系统将负责重启这些进程在将来根据需要。“

答案 3 :(得分:1)

要杀死后台进程(但仍然通过历史记录重新启动),您只需在模拟器或设备上使用activity manager shell命令:

$ adb shell am kill com.my.package