Android:何时以饰面结束课程()



我经常看到以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()

呼叫完成()的一个原因是,如果您不称呼它,则在活动中导航时,所有活动都将添加到背包中。因此,当您返回时,您必须回到这些活动。因此,例如,当您单击返回按钮时,它只会杀死活动,然后将其从背面删除。

最新更新