我经常看到以 结尾的类的例子finish()
,但绝对不是总是这样。我的问题是你应该什么时候结束课程finish()
?它到底做了什么,用后退按钮结束课程和用 结束课程有什么区别finish()
?
提前致谢!
我经常看到以 结尾的类的例子finish()
,但绝对不是总是这样。我的问题是你应该什么时候结束课程finish()
?它到底做了什么,用后退按钮结束课程和用 结束课程有什么区别finish()
?
提前致谢!
finish()
可以调用来杀死(销毁)一个 Activity 实例。如果您不需要关闭 Activity 手册,这在很多情况下都是如此,则无需调用此方法。
但是,如果您需要在活动中某处显示“关闭”的按钮,那么您应该使用此方法。但总的来说,Android 中的后退按钮行为会处理这样的事情。
后退按钮实际上并没有完成您的活动,而是立即finish()
调用该onDestory()
方法,而后退按钮则没有。
当按下后退按钮时, onStop()
方法被调用,但是onDestory()
方法调用可能会被系统延迟,这样系统就可以恢复 Activity,这比完全重启更便宜(在资源上)。
生命周期:http: //developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
完成():http: //developer.android.com/reference/android/app/Activity.html#finish()
当您需要在特定点立即结束时,您可以使用方法完成Activity
课程。如果您按下后退按钮,您将经历生命周期( ,然后自动。finish()
Activity
onPause()
onStop()
onDestroy())
使用完成的一个原因是当您开始活动时
void android.app.Activity.startActivityForResult(Intent intent, int requestCode)
在这种情况下,您不会返回使用另一个 startActivity 启动它的 Activity,但使用完成
公共无效完成()
当您的活动完成并应该关闭时调用它。ActivityResult 被传播回通过 onActivityResult() 启动你的人。
finish()
在您完成了与活动相关的操作后,调用它来杀死您的活动实例。之后,您将无法使用该活动。所以简单地打电话finish()
,它会杀死你的活动。
如果您按下后退按钮,它将finish()
自动调用以终止活动。它将经历活动生命周期(最后onPause()
)onStop()
onDestroy()
调用finish() 的一个原因是,如果您不调用它,当您浏览活动时,所有活动都将被添加到后台堆栈中。所以当你回去的时候,你必须通过这些活动回来。因此,例如,当您单击后退按钮时,它只会终止活动并将其从后台堆栈中删除。
后退按钮将您带到堆栈中的最后一个活动,同时finish()
销毁当前活动。您可以调用finish()
您不希望用户返回的活动。示例:登录活动