6

出于测试目的,我需要轻松地重现 Android 系统决定保存并终止后台应用程序的状态,其方式与通常用于内存优化目的的方式相同。事实上,当用户切换回它时,我还需要测试这样一个已删除进程的恢复过程。

直截了当的方法是打开应用程序,然后打开更多其他任务,尝试分配尽可能多的资源。这太复杂和不可靠。

在 SO 上找到了这个问题,但答案意味着简单地杀死进程,这似乎不是等价的,因为当用户决定切换回时,似乎没有办法进一步自动恢复具有保存状态的被杀死进程应用程序。如果我理解正确,在这种显式杀死应用程序之后,如果启动,将从一开始运行,而不是从保存状态运行。请纠正我,如果我错了。

根据 Android 文档,我需要的是由 执行的ActivityManager.killBackgroundProcesses(packageName),但这是做这件事的编程方式。是否有一个实用程序已经从 UI 提供了相同的选项?

4

1 回答 1

3

如果我理解正确,在这种显式杀死应用程序之后,如果启动,将从一开始运行,而不是从保存状态运行。

这取决于应用程序的启动方式。如果您的意思是从启动器图标,是的。但是,根据具体情况,用户可以通过“后退”按钮或最近的任务列表返回给您,这些会将用户返回到他们离开的位置,而不是“最开始”。

是否有一个实用程序已经从 UI 提供了相同的选项?

在 Android 4.0+ 设备上,您的应用程序在后台,打开最近的任务列表(长按 HOME 或按专用的最近功能),然后向右滑动您的应用程序。这似乎基本上调用killBackgroundProcesses()了该包名称。

我没有在模拟器中尝试过这个,但它可能做同样的事情。

于 2012-12-21T13:05:37.397 回答