假设我们有一个带默认行为的默认空活动,使用默认意图标志启动。用户按下设备上的后退按钮。活动消失了......但实际上怎么样?
- 按下按钮的行为方式与此相同
finish()
?
- 活动是否立即被破坏(
onDestroy
叫做)?
- 活动是否保证被销毁,但不能立即销毁?
- 是否有可能不会销毁活动,并且在将来启动此活动时将重复使用此实例? (所以只有
onPause
和 onStop
- > onStart
和 onResume
叫做?)
我正在寻找一个可靠的答案,所以如果你不确定这里发生了什么,请不要回答。
你使用应该看看这个 尝试这个
请告诉具体你想用你的默认活动的后退按钮做什么......
当您按下(如果没有被键盘,片段,活动等任何东西拦截)时,操作系统(可能通过ActivityManager)将尝试向用户显示当前任务中的上一个活动(同样,忽略片段的后台) 。
如果没有此类活动,任务将被终止,您将转到上一个任务 - 大多数时间的主屏幕或可能已启动您的应用程序的其他应用程序。
你会得到 onDestroy
很快就会调用(这取决于开始下一个活动需要多长时间,但在好的手机上它应该在100-200ms之内)。
您的活动实例不会在以后重复使用 onFinish
。这在活动被销毁之前发生,因此如果您需要另一个相同类型的活动,操作系统将创建另一个实例。
当用户按下BACK键时,当前活动从堆栈顶部弹出(保证活动被销毁,但不能立即销毁,可能是系统资源不足时),之前的活动恢复(之前的状态)其UI已恢复)。
Android上的后退按钮/后退键会触发哪些操作?
Definitly onDestroy()
被称为.....在某些情况下,您的活动会因应用程序的正常行为而被销毁,例如当用户按下“返回”按钮或您的活动通过调用发出自己的破坏信号时 finish()
。