android - onSaveInstanceState() 应该在 onDestroy() 而不是 onStop()?

标签 android

为什么在Activity进入停止状态时系统会调用onSaveInstanceState()?

由于 Activity 的实例在停止时一直驻留在内存中,并且它的当前状态只有在 Activity 被销毁时才会丢失。

因此系统应该在进入onDestroy() 之前或内部调用 onSaveInstanceState() 而不是 onStop()

不是吗?

最佳答案

因为 onDestroy() 不能保证被调用(通常,只有当你 finish() 你的 Activity 时)并且因为在 onStop(),您的 Activity 不保证保持不变。一旦它不是前台 Activity ,它可能会由于多种原因而被销毁。

我总是假设在 onPause() 之后,下一个要进行的回调可能onCreate(),那样的话,我永远不会感到惊讶 ;)

关于android - onSaveInstanceState() 应该在 onDestroy() 而不是 onStop()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794027/

相关文章:

android - 必须手动添加库文件。为什么?

java - 一个事务中的 Realm 循环 VS 每个步进循环一个事务

android - 如何在 GridView 中最好地优化 Picasso?

android - Xposed 和 onCheckedChanged 代码 - 编译错误

java - Android复杂图形元素

Android adb权限错误

Android、Openfire、Smack、XMPP

android - 如何用文本填充轮子,然后使其旋转(全部在 Flutter 中)?

android - 应用程序图标仅在模拟器上显示

android - 在kotlin中对包含数字的字符串进行排序