在http://developer.android.com/reference/android/app/Activity.html上阅读有关isFinishing()
的Android文档后,我感到困惑。
如果我在isFinishing()
中调用onPause()
,那么在以下三种情况下isFinishing()
调用的返回值是多少?
finish()
, Activity 被杀死。 我确信
isFinishing()
的结果在方案1中为true,在方案3中为false。方案2怎么样?在方案2中
isFinishing()
会返回true还是false? 最佳答案
当 Activity 处于前台时,它不会被操作系统杀死。那是没有道理的。
但是,如果由于用户切换到其他应用程序而使 Activity 进入后台,则在处理了onPause()
之后,该 Activity 可能会被杀死。这样,当用户切换到新应用程序时,您可能会得到isFinishing() == false
,但随后该应用程序被杀死。
如文档所述,将所有持久性数据保存在onPause()
中。不能保证onDestroy()
被调用。
(顺带一提,如果Dianne介入并纠正我,我不会感到惊讶。)
关于android - 了解isFinishing(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5227071/