在Android中模拟活动死亡

在Android中模拟活动死亡,android,serialization,android-activity,lifetime,Android,Serialization,Android Activity,Lifetime,我们知道,当系统耗尽资源时,后台活动会序列化其状态并被操作系统终止。当我们恢复它时,操作系统通过传递给onCreate方法的savedInstanceState恢复活动状态。考虑到我们负责处理将要序列化/恢复的内容,我希望杀死我的活动,以便测试为恢复而创建的代码。我怎样才能做到这一点?通过应用程序菜单强制终止应用程序没有帮助。您也可以从Eclipse终止它。 转到Android视图。您应该在“设备”选项卡中看到进程列表。 单击流程,然后单击“停止”按钮。 瞬间死亡! 仅供参考,您也可以通过单击绿

我们知道,当系统耗尽资源时,后台活动会序列化其状态并被操作系统终止。当我们恢复它时,操作系统通过传递给onCreate方法的savedInstanceState恢复活动状态。考虑到我们负责处理将要序列化/恢复的内容,我希望杀死我的活动,以便测试为恢复而创建的代码。我怎样才能做到这一点?通过应用程序菜单强制终止应用程序没有帮助。

您也可以从Eclipse终止它。 转到Android视图。您应该在“设备”选项卡中看到进程列表。 单击流程,然后单击“停止”按钮。 瞬间死亡!
仅供参考,您也可以通过单击绿色小错误旋转设备(或仿真器),以这种方式连接调试器。Android以新的方向保存、销毁和重新创建活动。

下载一个任务管理器,它以比“管理应用程序”设置中的“强制停止”破坏性更小的方式终止进程。示例:GO任务管理器

任务管理器将终止应用程序(和调试),但不知何故不会终止活动堆栈(不知道为什么)

重新启动应用程序时,将使用上次保存的捆绑包/状态调用onCreate

与Darrell相比,此解决方案的缺点是您无法调试它


与Darrell相比,此解决方案的优势在于它更接近真实场景。

谢谢,但这样做会扼杀整个过程。我只是想停止一项活动。哦。。是的,对不起。我唯一能想到的是“开发工具”应用程序中的“不良行为”选项。它在模拟器的应用程序抽屉中。你可以生成ANR并使一些线程崩溃。旋转不够好,因为有些东西仍然在内存中,比如活动的意图。当安卓终止活动并重建它时,它也会重建意图。这意味着,如果更改意图(在其中保存状态),在旋转时,您将拥有最新的更改,但在运行时,意图将丢失新的更改。