我正在阅读“开始Android游戏,第2版”这本书。
第129页说
'在onPause()中,我们只是暂停我们的主循环线程,如果 Activity.isFinishing()返回true,我们还将任何状态保存到磁盘 想坚持下去。'
并且作者在onStop()方法中什么也没做。
但问题是如果isFinishing()在onPause()中返回false但在onStop()中返回true,如果我们不处理onStop()方法,我们将丢失未保存的数据。
有什么建议吗?
答案 0 :(得分:2)
如果isFinishing()
中的onPause
返回false,则onStop
(以及onDestroy
)也会返回false。
我想如果您在yourActivity.finish()
方法中调用onPause
,则可能会出现例外情况。如果您这样做,isFinishing()
将在您致电yourActivity.finish()
之前返回false,之后将返回true。
答案 1 :(得分:0)
如果调用onStop(),也会调用onPause,而onDestroy()将同时调用它们。
这里有一个很棒的图表
http://developer.android.com/reference/android/app/Activity.html
说明了Android活动生命周期。