2012-12-21 37 views
6

出于测试目的,我需要轻松地重现Android系统决定保存后台应用程序的状态并杀死后台应用程序时的情况,方式与通常用于内存优化的方式相同。事实上,当用户切换回去时,我还需要测试这种已删除进程的恢复过程。如何模拟Android操作系统卸载后台应用程序?

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

我找到了this question on SO,但答案意味着简单地杀死进程,这似乎不是等同的,因为在用户决定切换回来时,似乎没有办法用已保存状态进一步自动恢复被杀进程到应用程序。如果我理解正确,在这样明确地杀死应用程序后,如果启动,将从一开始运行,而不是从已保存的状态运行。请纠正我,如果我错了。

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

回答

3

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

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

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

在Android 4.0以上版本的设备,在后台您的应用程序,开拓近期任务列表(长按HOME或按专用近期]启示),并扫描应用程序关闭的权利。这似乎基本上称该软件包名称为killBackgroundProcesses()

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

+1

谢谢。我已经在2.3设备上使用它,尽管没有滑动:打开“管理应用程序”,“显示背景任务”,点击需要的背景,然后点击“停止”就足够了。该进程保留在后端堆栈(和最近进程)中,并可以用其状态重新创建。 – Stan

相关问题