2014-08-27 84 views
4

我正在阅读这本书“Beginning Android Games,2nd Edition”。有没有可能isFinishing()在onPause()中返回false,但在onStop()中返回true?

129页说

“在的onPause(),我们只是暂停主循环线程,如果 Activity.isFinishing()返回true,我们还保存到磁盘我们 要坚持任何状态。 “

和作者在onStop()方法中不做任何事情。但是问题是,如果isFinishing()在onPause()中返回false,但在onStop()中返回true,那么如果我们不处理onStop()方法,我们将丢失未保存的数据。

有什么建议吗?

回答

2

如果isFinishing()在中返回false,它也将在onStop(也在onDestroy)返回false。

我想这可能是一个例外,如果你在方法中调用yourActivity.finish()。如果你这样做,isFinishing()将在你拨打yourActivity.finish()之前返回false,之后为true。

相关问题