根据Android文档,finish()确实完成了"返回"按钮呢。因此,当我调用finish()时,基本上会调用onStop()。
我试图覆盖onStateSaveInstance()以保存当前状态,但从不调用它。但是,如果我通过创建新的Intent并使用startActivity()转到上一个活动,则会调用onStateSaveInstance()方法。这有什么理由吗?
答案 0 :(得分:0)
因此,当我调用finish()时,基本上会调用onStop()。
不一定。当您的活动不再可见时,系统会调用onStop()
。 finish()
只有在您拨打onStop()
时活动可见时才会触发finish()
来电。
我试图覆盖onStateSaveInstance()以保存当前状态,但它永远不会被调用
正确。你正在摧毁这项活动。没有要保存的实例状态。
但是,如果我通过创建新的Intent并使用startActivity()转到上一个活动,则调用onStateSaveInstance()方法
不一定。它将取决于Intent
标志,清单中的android:launchMode
等。
当您的活动被销毁时,不会调用这是否有原因?
onSaveInstanceState()
。没有实例状态可以保存,因为实例正在消失。