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

据我所知,Android保留随时终止后台应用程序进程的权利,以便回收RAM。 应用程序仍在运行,但仍然可以恢复,但我的所有静态variables都消失了(参见本文)。

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

发现两个类似的问题模拟在模拟器中杀死活动并在Android中模拟低电量和低内存 。

这些问题的解决方案:

  • 使用adb shell然后使用ps PID ps进程
  • 使用DDMS杀死它

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

请参阅我对此的回答以及详细说明。

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

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

 $ adb shell am kill com.my.package