12

我想知道在所有活动中实现onBackPressed()finish()功能是否是个好主意?还是不实用,甚至不好做?

如果没有,除了在每个活动中显示和输入SingleInstance(我认为这会使应用程序更慢)之外,我还有什么其他选择?

谢谢。

4

2 回答 2

14

首先硬件后退按钮本身调用finish()方法。如果您onBackPressed()在 Activity 中定义 Method ,则意味着您将覆盖 backButton 的默认行为,因为onBackPressed()当您按下后退按钮时会调用方法。

现在是否创建单个活动实例取决于您的要求,例如启动屏幕可以由单个实例组成,因为它在应用程序启动期间仅可见一次,并且无需将此活动保留在后台堆栈中. 您将经常使用的活动不应是单个实例化,否则可以将罕见的活动设为单个实例。

浏览Back Stack 文档以获取完整信息。

standard 和 'singleTop' 可以实例化多个活动实例,并且该实例将保留在同一个任务中。对于“singleTask”或“singleInstance”,活动类使用单例模式,该实例将成为新任务的根活动。

于 2013-10-23T08:54:42.993 回答
0

这取决于您的应用程序要求,因为我们经常使用 finish() 但您也可以管理 android 的生命周期。

最好使用暂停和恢复方法。

于 2013-10-23T08:57:38.620 回答