android 中后退键和主页键的区别
Difference between back press and home button in android
我正在我的应用程序中启动一项服务。单击服务后,我将启动 activity。当我们转到任何应用程序并按下后退按钮并退出应用程序时,服务点击事件工作正常。
但是如果我们在任何应用程序中,然后按主页按钮并单击该服务,activity 将不会启动。如果我点击它超过 2 次,它会打开 activity,有时它也会打开应用程序。
所以我无法理解按返回按钮和主页按钮之间的区别。
onPause() 在 Activity A 启动时调用 Activity B。在 Activity B 调用后退按钮后,在 [=12=12] 调用 onResume() =] A.
在活动的情况下,它们的默认实现是基于堆栈的 LIFO,其工作方式如下:
按下后退按钮: 通过调用停止方法完成当前activity。
按下主页按钮:activity 正在暂停,如果返回它可能会恢复,否则系统将调用 [的 stop() 方法=22=]节省未使用的资源并利用内存。
但如果需要,可以通过覆盖来编辑这些函数。
启动 activity 后,如果按下 HOME 键,则当前 activity 将停止,其任务将进入后台。系统保留 activity 的状态——即 onSaveInstanceState 将被调用。如果用户稍后通过选择再次开始该任务的启动器图标来恢复该任务,则该任务会出现在前台并恢复堆栈顶部的 activity。
然而,如果BACK键被按下,当前的activity将从堆栈中弹出并销毁。假设是 activity 已经完成,不会再次使用。因此系统不会保留 activity 的状态 - 即不会调用 onSaveInstanceState。
家庭任务:
按主页会将您从应用程序切换到主屏幕,同时将您的应用程序 运行 留在后台。这有点像在 Windows PC 上的 windows 之间切换。
除了当您的 phone 运行 内存等资源不足时,它将开始关闭后台 运行 的应用程序,以便您的 phone有足够的资源来做你现在想做的事。游戏通常是 phone 将 "kill" 节省资源的首批应用程序之一,因为它们通常比其他应用程序使用更多的内存和 CPU。这就是为什么有时您的游戏仍然 运行 暂停,有时 Android 已为您关闭它。
后退按钮是关闭应用程序的方式,因此它们实际上已关闭。
我正在我的应用程序中启动一项服务。单击服务后,我将启动 activity。当我们转到任何应用程序并按下后退按钮并退出应用程序时,服务点击事件工作正常。
但是如果我们在任何应用程序中,然后按主页按钮并单击该服务,activity 将不会启动。如果我点击它超过 2 次,它会打开 activity,有时它也会打开应用程序。
所以我无法理解按返回按钮和主页按钮之间的区别。
onPause() 在 Activity A 启动时调用 Activity B。在 Activity B 调用后退按钮后,在 [=12=12] 调用 onResume() =] A.
在活动的情况下,它们的默认实现是基于堆栈的 LIFO,其工作方式如下:
按下后退按钮: 通过调用停止方法完成当前activity。
按下主页按钮:activity 正在暂停,如果返回它可能会恢复,否则系统将调用 [的 stop() 方法=22=]节省未使用的资源并利用内存。
但如果需要,可以通过覆盖来编辑这些函数。
启动 activity 后,如果按下 HOME 键,则当前 activity 将停止,其任务将进入后台。系统保留 activity 的状态——即 onSaveInstanceState 将被调用。如果用户稍后通过选择再次开始该任务的启动器图标来恢复该任务,则该任务会出现在前台并恢复堆栈顶部的 activity。
然而,如果BACK键被按下,当前的activity将从堆栈中弹出并销毁。假设是 activity 已经完成,不会再次使用。因此系统不会保留 activity 的状态 - 即不会调用 onSaveInstanceState。
家庭任务:
按主页会将您从应用程序切换到主屏幕,同时将您的应用程序 运行 留在后台。这有点像在 Windows PC 上的 windows 之间切换。
除了当您的 phone 运行 内存等资源不足时,它将开始关闭后台 运行 的应用程序,以便您的 phone有足够的资源来做你现在想做的事。游戏通常是 phone 将 "kill" 节省资源的首批应用程序之一,因为它们通常比其他应用程序使用更多的内存和 CPU。这就是为什么有时您的游戏仍然 运行 暂停,有时 Android 已为您关闭它。
后退按钮是关闭应用程序的方式,因此它们实际上已关闭。