假设我们有一个带默认行为的默认空活动,使用默认意图标志启动。用户按下设备上的后退按钮。活动消失了......但实际上怎么样?
finish()
相同吗?onDestroy
被调用)?onPause
和onStop
- > onStart
和onResume
?)我正在寻找一个可靠的答案,所以如果你不完全确定这里会发生什么,请不要回答。
答案 0 :(得分:6)
http://developer.android.com/training/basics/activity-lifecycle/recreating.html
这是解决您问题的官方Android文档的子章节。它是主题Managing the Activity Lifecycle
的一个子章节,可以在这里阅读:
http://developer.android.com/training/basics/activity-lifecycle/index.html
了解有关Androids Activity行为的详细信息绝对值得阅读整章。但是,分章(第一个链接)是这个问题的相关部分。
答案 1 :(得分:2)
当您按下时,(如果没有被键盘,片段,活动等等截获),操作系统(可能通过ActivityManager)将尝试向用户显示当前任务中的上一个活动(同样,忽略片段'后筹码。)
如果没有此类活动,任务将被终止,您将转到上一个任务 - 大部分时间的主屏幕或可能已启动您的应用程序的其他应用程序。
你很快就会被onDestroy
召唤(这取决于开始下一个活动需要多长时间,但是在好的手机上它应该在100-200ms之内)。
onFinish
后您的活动实例不会被重复使用。这在活动被销毁之前发生,因此如果您需要另一个相同类型的活动,操作系统将创建另一个实例。
答案 2 :(得分:2)
您使用的应该查看此try this
请告诉具体你想用默认活动的后退按钮做什么......
答案 3 :(得分:1)
当用户按下BACK键时,当前活动从堆栈顶部弹出(保证活动被销毁,但不是立即销毁,可能是系统资源不足时),之前的活动恢复(其UI的先前状态已恢复。)
Which actions does the back button/back key on Android trigger?
答案 4 :(得分:0)
默认onDestroy()
被调用.....在某些情况下,您的活动会因应用程序的正常行为而被销毁,例如当用户按下“返回”按钮或您的活动发出自己的销毁信号时致电finish()
。