为什么工具栏和屏幕底部的后退按钮调用不同的生命周期方法?
Why back buttons on toolbar and on bottom of screen are calling different lifecycle methods?
我有两个活动。当我转到第二个 activity 时,我有两个选项 return 到前一个:
- 按工具栏上的 "back" 按钮
- 按下屏幕底部的物理 "back" 按钮(主页按钮左侧)
但是,我观察到工具栏后退按钮在第一个 activity 上首先调用 onDestroy()
,然后重新创建它。物理后退按钮在第一个 activity 中调用 onRestart()
而不会破坏它。
问题:为什么他们的行为不同?
工具栏后退按钮实际上是一个 "Up" 按钮,它可以将您带到应用导航层次结构的更高级别。
然而,物理按钮会将您带到您上次查看的位置。这意味着,您可以在按下 物理后退按钮 时进入完全不同的应用程序。
这两个功能都很重要,因此您需要两个行为不同的按钮。
参考this official doc以更好地理解它。
我有两个活动。当我转到第二个 activity 时,我有两个选项 return 到前一个:
- 按工具栏上的 "back" 按钮
- 按下屏幕底部的物理 "back" 按钮(主页按钮左侧)
但是,我观察到工具栏后退按钮在第一个 activity 上首先调用 onDestroy()
,然后重新创建它。物理后退按钮在第一个 activity 中调用 onRestart()
而不会破坏它。
问题:为什么他们的行为不同?
工具栏后退按钮实际上是一个 "Up" 按钮,它可以将您带到应用导航层次结构的更高级别。
然而,物理按钮会将您带到您上次查看的位置。这意味着,您可以在按下 物理后退按钮 时进入完全不同的应用程序。
这两个功能都很重要,因此您需要两个行为不同的按钮。
参考this official doc以更好地理解它。