我想知道在onBackPressed()
finish()
函数中实施所有活动是否合适?或者它不实用,甚至不好做到这一点?
如果没有,除了要在每个活动中显示和输入SingleInstance
(我认为它会使应用程序更慢)之外还有哪些其他选项,我有吗?
感谢。
答案 0 :(得分:13)
首先,硬件后退按钮本身调用finish()
方法。如果您在活动中定义onBackPressed()
方法,则意味着您将覆盖backButton的默认行为,因为按下后退按钮时会调用onBackPressed()
方法。
现在,是否创建单个活动实例取决于您的要求,例如启动画面可以由单个实例组成,因为它在应用程序启动时只能看到一次,并且不需要将此活动保留在后台堆栈中。您经常使用的活动不应该是单一的实例,否则罕见的活动可以成为一个实例。
浏览Back Stack Documentation以获取完整信息。
standard和'singleTop'可以实例化多个活动实例,实例将保留在同一个任务中。 对于“singleTask”或“singleInstance”,活动类使用单例模式,该实例将是新任务的根活动。
答案 1 :(得分:0)
这取决于您的应用程序要求,因为我们经常使用finish() 但你也可以管理android的生命周期。
最好使用暂停和恢复方法。