在activity刚开始被创建的时候

f15ab8337c72469b87628ecf274647c6.jpg

当弹出一个dialog的时候,生命周期没有任何变化,仍然和之前相同,因为该dialog属于该activity

f15ab8337c72469b87628ecf274647c6.jpg

当跳到其他界面的时候,触发了onPause和onStop

8c3dd3de8b4a44b38522e2ff24a95126.jpg

再次跳转回刚才界面的时候,会触发onStart,onResume,和onPostResume

0bbfc558e199446db16b7c955a3b0014.jpg

当按下主页键的时候,触发onPause和onStop,所走的生命周期和跳转到其他界面相同,本质也相同

销毁该界面的时候,所走的生命周期为onPause,onStop,onDestroy,比之前多调用了onDestroy.

onstop和onPause的区别:

当一个普通的dialog被创建时,双方都不会被调用

当一个activity dialog被创建时,onpause被调用,onstop不会被调用

onpause时,当activity部分不可见时,就会被触发

onstop是activity完全不可见时会被触发,如果新activity的主题为透明时,onstop不会被调用

onstart和onrestart的区别:

当activity被创建时,只会调用onstart不会调用onrestart.

每次activity从不可见变为可见时,都会调用onstart.

onstart可以理解为和onstop成双成对的出现

cp关系

onstart-onstop

onresume-onpause

异常情况下的生命周期

onsaveInstanceState是只有在异常情况下才会被调用,例如旋转屏幕,原activity就会被销毁,并且会调用onsaveInstanceState

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐