Android后退按钮行为



假设我们有一个默认的、具有默认行为的空活动,使用默认意图标志启动。用户按下设备上的后退按钮。活动消失了。。。但实际上是怎么回事?

  • 按下后退按钮的行为是否与finish()相同
  • 活动是否被无限破坏(称为onDestroy
  • 活动是否保证会被破坏,但不会被无限地破坏
  • 该活动是否有可能不会被销毁,并且在将来启动该活动时会重用该实例?(所以只调用onPauseonStop->onStartonResume?)

我正在寻找一个可靠的答案,所以如果你不完全确定这里发生了什么,请不要回答。

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

这是安卓官方文档中的一个子章,用于解决您的问题。这是主题Managing the Activity Lifecycle的一个子章,可在此处阅读:http://developer.android.com/training/basics/activity-lifecycle/index.html

这绝对值得阅读整章,以了解有关机器人活动行为的细节。但本分章(第一个链接)是这个问题的相关部分。

你应该看看这个试试这个

请具体说明您希望对默认活动的后退按钮做什么。。。。。。

当您按下back时(如果没有被键盘、碎片、活动等拦截),操作系统(可能通过ActivityManager)将尝试向用户显示当前任务中的前一个活动(同样,忽略碎片的后堆栈)。

如果没有这样的活动,任务将被终止,您将转到上一个任务——大多数时候是主屏幕,或者其他可能启动您应用程序的应用程序。

你很快就会接到onDestroy的电话(这取决于开始下一个活动需要多长时间,但在一部好手机上,它应该在100-200ms以下)。

您的活动实例在onFinish之后将不会被重用。这种情况发生在活动被销毁之前,因此如果您需要另一个相同类型的活动,操作系统将创建另一个实例。

当用户按下BACK键时,当前活动将从堆栈顶部弹出(该活动保证会被销毁,但不会立即销毁,可能是在系统资源不足时),并且上一个活动将恢复(其UI的上一状态将恢复)。

安卓系统上的后退按钮/后退键会触发哪些操作?

最终onDestroy()被称为。。。。。在一些情况下,您的活动会由于正常的应用程序行为而被破坏,例如当用户按下"上一步"按钮或您的活动通过调用finish()发出自身破坏的信号时。

相关内容

  • 没有找到相关文章

最新更新