gpt4 book ai didi

android - 从 Android 应用程序被杀死中恢复

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:23 25 4
gpt4 key购买 nike

发生了什么:

  1. 我打开我的应用程序,然后按主页按钮离开它一会儿。
  2. 我进入 设置 > 应用程序 > 管理应用程序 > 运行,在缓存的后台应用程序列表中找到我的应用程序,然后停止它。
  3. 然后我按住主屏幕按钮并在最近使用的应用列表中选择我的应用,再次运行它。

[注意:这些步骤只是我强制测试人员看到的相同症状的方式——他们只是正常进出应用程序,而不是强制关闭它。]

它在我离开时打开,但状态不佳。第一个问题是保存用户信息的内存消失了(如果应用程序被终止,这是有道理的)。我通过使 User 类可序列化并将当前用户对象存储在 onSaveInstanceState 中,然后在 onCreate 中加载它来解决这个问题。同样,我必须重新创建我的 ClientConnectionManager 才能让网络再次工作。

“重新加载” Activity 运行得很好,我可以导航到并使用新创建的 Activity ,但是如果我改为点击后退按钮返回到在我强行停止之前创建的 Activity 应用程序,我得到一个异常,说 User 类不存在(ClassNotFoundException,显然是在执行 unparcel 时)。

为什么会这样?当应用程序被杀死但仍然知道重新打开时要返回哪个 Activity 时,处理这种情况的正确方法是什么?应用未运行但未完全关闭的这种状态的名称是什么?

最佳答案

  1. 您可以指定哪些 Activity 将出现在“最近使用的应用程序”中,并确保只包含主要的 Activity 或任何其他“安全”Activity(android :excludeFromRecents)
  2. 您可以通过查找 FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY 来识别“launched from history”案例在你的启动 Intent

关于android - 从 Android 应用程序被杀死中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com