我目前正在学习活动周期。我注意到以下内容:
在ActionBar中使用向上弹键时,为什么销毁A而不是重新启动?
我希望我的问题很清楚,否则请发表评论。
答案 0 :(得分:1)
设备的“后退”按钮实际上使您返回(返回上一个活动)。动作栏的后退按钮类似于“上移”按钮(在应用程序的层次结构内)。这就是为什么操作栏的后退按钮不会将您带到应用程序之外,而设备的后退按钮会继续将您带到应用程序之外,甚至在应用程序之外。操作栏存在于您的应用程序中,因此它遵循活动的生命周期方法,并在您每次返回时从头开始,而设备将从停止位置重新启动。
编辑:
“后退”按钮出现在系统导航栏中,用于按时间倒序浏览用户最近使用过的屏幕的历史记录。通常,它基于屏幕之间的时间关系,而不是应用程序的层次结构。
答案 1 :(得分:1)
当您按下BACK按钮时,这会在当前onBackPressed()
中调用Activity
。该方法的默认行为(如果未在Activity
中覆盖)是在finish()
上调用Activity
。这样就完成了Activity
,并恢复了其下面的Activity
。
“向上”按钮正在使用startActivity()
来调用Intent
,该Intent intent = new Intent(this, TargetActivityForUpButton.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
的构建如下:
TargetActivityForUpButton
此代码将把堆栈中的所有活动移回TargetActivityForUpButton
,包括Actvity
。然后,它创建一个onCreate()
的新实例并启动该onStart()
(您会看到onResume()
上调用了Activity
,<h2>
<a href="exmpale">repeatedtext</a>
</h2>
<p>
</p>
<p> required things </p> <--- select this element
,FirebaseDatabase.getInstance().setPersistenceEnabled(true);
。
另请参见https://developer.android.com/training/implementing-navigation/ancestral
中的“导航至父级活动”部分