为什么在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/