【发布时间】:2011-07-07 04:13:53
【问题描述】:
我对 Android 中的这两种方法有点困惑。
从文档中我了解到应该调用onSaveInstanceState() 来仅存储临时信息,而应该使用onPause() 来存储任何持久数据。
我想知道为什么每次都调用onPause() 时调用onSaveInstance()。然后我在记事本教程中阅读:
"注意
saveState()必须是 都调用了onSaveInstanceState()和onPause()以确保 数据被保存。这是因为有 不能保证onSaveInstanceState()将被调用 因为当它被调用时,它是 在onPause()之前调用。”
不保证会调用onSaveInstanceState(),因为您只需使用后退按钮即可退出活动。
但是根据这个,如果你不在这两种方法中保存持久数据,应用程序可能会在onSaveInstanceState() 中被杀死。
所以实际上我们需要在这两种方法中保存持久数据,对吗?
但如果这是真的,这不是太多的开销,也许应该有一些其他的附加标志来告诉方法是否已经被调用或什么?
http://developer.android.com/resources/tutorials/notepad/notepad-ex3.html
【问题讨论】:
标签: android