出于测试目的,当Android系统决定保存状态并终止后台应用程序时,我需要轻松重现这种情况,其方式与通常用于内存优化的方式相同。实际上,当用户切换回它时,我还需要测试这个被删除过程的恢复过程。
直接的方法是打开应用程序,然后打开更多其他尝试分配尽可能多的资源的任务。这太复杂,不可靠。
我找到this question on SO,但答案意味着简单地杀死进程,这似乎不等同,因为当用户决定时,似乎没有办法进一步自动恢复已保存状态的被杀死进程切换回应用程序。如果我理解正确,那么在明确杀死应用程序之后,如果启动,将从一开始就运行,而不是从已保存状态运行。如果我错了,请纠正我。
根据Android文档,我需要的是由ActivityManager.killBackgroundProcesses(packageName)
执行的,但这是执行该操作的编程方式。是否有一个实用程序已经从UI提供了相同的选项?
答案 0 :(得分:3)
如果我理解正确,那么明确杀死应用程序后,如果启动,将从一开始就运行,而不是从已保存状态运行。
这取决于应用程序的启动方式。如果你的意思是发射器图标,是的。但是,用户可以通过BACK按钮或最近的任务列表返回给您,具体取决于具体情况,这些将使用户返回他们离开的位置,而不是“非常开始”。
是否有一个实用程序已经从UI提供了相同的选项?
在Android 4.0及更高版本的设备上,将应用程序置于后台,打开最近的任务列表(长按HOME或按专用的RECENTS可用性),然后向右滑动您的应用。这看起来基本上就该包名称调用killBackgroundProcesses()
。
我没有在模拟器中尝试过这个,但它可能会做同样的事情。