Activity 生命周期共有7个:
* onCreate()
* onStart()
* onResume()
* onPause()
* onStop()
* onRestart()
* onDestroy()
这个问题在笔试题的时候70%-80%会有,而且相关的声明周期怎么调用也会有考到。
这里主要注意到以下几点,基本上就能顺利过关了。
* onStart() 仅仅是布局在前台了,但是此时界面人是看不到的,也交互不了的
* onResume() 这个时候,可以看到界面了,人也可以操作了
* onPause() 界面还可见,只是不能操作了(部分可见也属于可见)
* onStop() 界面不可见了
屏幕旋转时生命周期的变化
如果不做任何设置,那么当屏幕翻转的时候,当前activity 会先终止,然后再重新创建,并且会加载翻转之前的一些缓存数据。
生命周期的变化过程是
onPause() -> onStop() -> onDestroy()
onCreate() -> onStart() -> onResume()
被面试问到这个问题,还需要将怎么解决这样的问题答出来:
在清单文件中,给activity这是如下属性:
android:configChanges="screenSize|orientation|keyboardHidden" 纯手打,有错误请见谅
从A activity 跳转到B activity,B 是透明的activity,问A 的生命周期变化
从A activity 弹出dialog,问A 的生命周期变化
上面两个题其实是一样的,因为此时界面都是可见,但是无法操作,所以A 的生命周期只会走到
onPause()