gpt4 book ai didi

android - 使用 savedInstanceState 和 onSaveInstanceState 重要吗?

转载 作者:行者123 更新时间:2023-11-29 16:12:59 26 4
gpt4 key购买 nike

我有一个应用程序只支持纵向模式。我使用序列化传递所有参数,通过 Intent 传递 - intent.putExtra() 然后在 onCreate() - getIntent().getExtras ().getX(MY_PARAM_NAME)...

即使系统因其他原因导致崩溃而关闭 VM,此方法也能正常工作。由于序列化,这些 Activity 似乎以正确的参数再次开始。

所以问题是,在我的情况下是否需要保存实例状态?没有它似乎工作得很好......还没有遇到任何问题。但也许我遗漏了什么,或者没有进行足够的测试。

最佳答案

正如您所指出的,如果您的 Activity 被终止(即由于资源不足),当它被重新创建时,它会传递原始的 Intent开始了。在您的情况下,这意味着您可以取回序列化对象。

重写 onSaveInstanceState 对于您希望在其中维护的 Activity 执行期间发生更改(尚未在其他地方持久化)的情况很重要以防它被杀死。

例如,在 Activity 中存储成员变量对于终止和重新创建 Activity 是危险的,除非您将它们存储在 Bundle 中> 在 onSaveInstanceState 中,然后从传递给 onCreateBundle 中恢复它们。

更新:测试实现该方法的必要性的一个好方法是强制 Android 在您离开 Activity 时立即终止它们。然后,运行您的应用程序,看看是否有任何问题。您可以使用 Dev Tools App 执行此操作在模拟器上,或在 ICS 中,转到设置 -> 开发人员选项,然后选中“不保留 Activity ”。

关于android - 使用 savedInstanceState 和 onSaveInstanceState 重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566140/

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