栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

想搞懂Jetpack架构可以不搞懂生命周期知识吗?,阿里Android面试必问

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

想搞懂Jetpack架构可以不搞懂生命周期知识吗?,阿里Android面试必问

2. 单Activity按返回按钮

=====================================================================================

触发步骤:

按返回按钮

或者调用finish方法

重新进入Activity

该场景演示了用户启动,销毁,重新进入Activity的生命周期变化。调用顺序如图:

状态管理:

onSaveInstanceState没有被调用,因为Activity被销毁,没有必要保存状态

当Activity被重新进入时,onCreate方法bund
le参数为null

3. 单Activity按Home键

======================================================================================

触发步骤:

用户按Home键

或者切换至其它APP

重新进入Activity

该场景Activity会调用onStop方法,但是不会立即调用onDestroy方法。调用顺序如图:

状态管理:

当Activity进入Stopped状态,系统使用onSaveInstanceState保存app状态,以防系统将app进程杀死,重启后恢复状态。

4. 单Activity旋转屏幕

====================================================================================

触发步骤:

Configuration发生改变, 比如旋转屏幕

用户在多窗口模式下调整窗口大小

当用户旋转屏幕,系统会保留旋转之前的状态,能很好的恢复到之前的状态。调用顺序如图:

状态管理:

Activity被完全销毁掉,但是状态会被保存,而且会在新的Activity中恢复该状态

onCreate和onRestoreInstanceState方法中的bundle是一样的

5. 单Activity弹出Dialog

========================================================================================

触发步骤:

在API 24+上开启多窗口模式失去焦点时

其它应用部分遮盖当前APP,比如弹出权限授权dialog

弹出intent选择器时,比如弹出系统的分享dialog

该场景不适用于以下情况:

相同APP中弹dialog,比如弹出alertDialog或者DialogFragment不会导致Activity onPause发生调用

系统通知。当用户下拉系统通知栏时,不会导致下面的Activity onPause发生调用。

6. 多个Activity跳转

===================================================================================

触发步骤:

activity1 跳转到activity2

按返回按钮

注意:activity1 跳转到activity2 正确的调用顺序是

->activity1.onPause

->activity2.onCreate

->activity2.onStart

->activity2.onResume

->activity1.onStop
调用顺序是**

->activity1.onPause

->activity2.onCreate

->activity2.onStart

->activity2.onResume

->activity1.onStop

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号