Android activity生命周期的变化及应用场景

大家好,今天和大家分享一道关于activity生命周期的面试题,希望可以帮助大家更好的理解activity生命周期这一块,废话不多说,开干!

首先,咱们看一下官方给我们的activity生命周期图

那么activity生命周期为:

onCreate()-->onStart()-->onResume()-->onPause()-->onStop()-->onDestroy()

Android activity生命周期的变化及应用场景_第1张图片

接下来看一下面试官一般会怎么问:

①ActivityA跳转ActivityB执行哪些生命周期

答:ActivityA:onPause ->ActivityB:( onCreate - > onStart - >onResume )- >ActivityA: onStop

当点击跳转之后,activityA的变化,如图

activityB的变化,如图

Android activity生命周期的变化及应用场景_第2张图片

activityA的变化,如图

②ActivityB返回ActivityA执行哪些生命周期:

ActivityB:onPause - >ActivityA(onRestart -> onStart - > onResume) ->ActivityB:(onStop - >onDestory)

当点击跳转之后,activityB的变化,如图

activityA的变化,如图

Android activity生命周期的变化及应用场景_第3张图片

activityB的变化,如图

③点击返回键,activity执行那些生命周期:

onPause()-->onStop()-->onDestroy

Android activity生命周期的变化及应用场景_第4张图片

再次重启页面执行的生命周期:

--->onCreate-->onstart-->onResume

Android activity生命周期的变化及应用场景_第5张图片

④点击home键时,activity生命周期的变化:

onPause-->onStop

再次重启页面执行的生命周期:

Android activity生命周期的变化及应用场景_第6张图片

⑤切换横竖屏时,activity生命周期的变化:

当在清单文件中不配置android:configChanges="orientation"的 时候,activity会重建

Android activity生命周期的变化及应用场景_第7张图片

当在清单文件中配置android:configChanges="orientation"的 时候,不会创建activity,如图

当在清单文件中配置android:configChanges="orientation|keyboardHidden"的 时候,不会创建activity,如图

当在清单文件中配置android:configChanges="orientation|keyboardHidden|screenSize"的 时候,不会创建activity,如上图

看了网上有些帖子说,横竖屏切换时activity生命周期不仅跟清单文件AndroidManifest.xml中android:configChanges属性有关,而且还跟手机系统的版本有关,因为在Android 4.0及其以上系统上,还跟程序的targetSdkVersion设置有关,大家可以参考这个帖子:https://blog.csdn.net/xiaoli100861/article/details/50855152  进行更深一步的研究,顺便说一下我的手机是Android 8.0的。

好啦,就总结到这儿啦!

 

你可能感兴趣的:(Android activity生命周期的变化及应用场景)