出于测试目的,我需要轻松地重现 Android 系统决定保存状态并终止后台应用程序时的情况,就像通常出于内存优化目的所做的那样。事实上,我还需要测试当用户切换回这样一个已删除进程时的恢复过程。
直接的方法是打开应用程序,然后打开更多其他任务,尝试分配尽可能多的资源。这太复杂而且不可靠。
我找到了这个问题关于SO https://stackoverflow.com/questions/5075773/how-to-emulate-the-process-of-a-background-activity-is-killed-by-the-system-beca,但答案意味着简单地终止进程,这似乎不是等价的,因为当用户决定切换回应用程序时,似乎没有办法进一步自动恢复已终止进程的保存状态。如果我理解正确,在这种显式终止应用程序之后,如果启动,将从一开始运行,而不是从保存的状态运行。如果我错了,请纠正我。
根据Android文档,我需要的是通过ActivityManager.killBackgroundProcesses(packageName)
,但这是做这件事的编程方式。是否有一个实用程序已经从 UI 提供了相同的选项?
如果我理解正确,在这种显式终止应用程序之后,如果启动,将从一开始运行,而不是从保存的状态运行。
这取决于应用程序的启动方式。如果你的意思是从启动器图标,是的。但是,用户可以根据情况通过“后退”按钮或通过最近的任务列表返回到您,这些会将用户返回到他们离开的位置,而不是“一开始”。
是否有一个实用程序已经从 UI 提供了相同的选项?
在 Android 4.0+ 设备上,当您的应用程序在后台运行时,打开最近的任务列表(长按 HOME 或按专用的“最近”功能),然后向右滑动您的应用程序。这似乎基本上是调用killBackgroundProcesses()
在那个包名上。
我还没有在模拟器中尝试过这个,但可能它会做同样的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)