我经常看到以finish()
结尾的类示例,但绝对并不总是。我的问题是您什么时候应该用finish()
结束课程?它到底是什么,用后退按钮结束类并用finish()
结束有什么区别?
预先感谢!
finish()
可以称为杀死(销毁)活动实例。如果您不需要关闭活动手册,这在许多情况下是正确的,则无需调用此方法。
但是,如果您的活动中的某个地方需要一个按钮"关闭",则应使用此方法。但是通常,Android中的后退按钮行为将处理这样的事情。
"后退"按钮实际上未完成您的活动,finish()
立即调用onDestory()
方法,而后背按钮没有。
按下返回按钮时,调用了onStop()
方法,但是onDestory()
方法调用可能会被系统延迟,因此该活动可以由更便宜的系统恢复,而不是完整的重新启动。
生命周期: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)
在这种情况下,您不会回到以另一个起始性开始的活动,但以完成
后按钮将您带到堆栈中的最后一个活动,而finish()
破坏了当前活动。您可以在不希望用户返回的活动上调用finish()
。示例:登录
public void finish()
当您的活动完成时,请致电 关闭。ActivityResult将传播回给您的人 通过OnActivityResult()。
finish()
在做了与活动有关的事情之后,被要求杀死您的活动实例。之后,您对活动没有用。因此,只需致电finish()
即可杀死您的活动。
如果按下返回按钮,它将自动调用finish()
以杀死活动。它将通过活动生命周期(onPause()
,onStop()
,最后onDestroy()
)
呼叫完成()的一个原因是,如果您不称呼它,则在活动中导航时,所有活动都将添加到背包中。因此,当您返回时,您必须回到这些活动。因此,例如,当您单击返回按钮时,它只会杀死活动,然后将其从背面删除。