Activity的四种加载模式之生命周期变化(横竖屏切换)

203 阅读1分钟

启动模式standard生命周期变化

//第一次启动
V/MainActivity:  MainActivity  onCreate  
V/MainActivity:  MainActivity  onStart  
V/MainActivity:  MainActivity  onResume  
//这时点击横屏
V/MainActivity:  MainActivity  onPause  
V/MainActivity:  MainActivity  onResume  
V/MainActivity:  MainActivity  onPause  
V/MainActivity:  MainActivity  onStop  
V/MainActivity:  MainActivity  onDestroy  
V/MainActivity:  MainActivity  onCreate  
V/MainActivity:  MainActivity  onStart  
V/MainActivity:  MainActivity  onResume  
//切换成 竖屏时
V/MainActivity:  MainActivity  onPause 
V/MainActivity:  MainActivity  onStop  
V/MainActivity:  MainActivity  onDestroy  
V/MainActivity:  MainActivity  onCreate  
V/MainActivity:  MainActivity  onStart  
V/MainActivity:  MainActivity  onResume  

以上看出 standard(默认)默认启动模式切换屏幕时 先销毁在创建 ,并且在销毁时运行了两次 onPause方法

启动模式 singleTask 变化

//第一次创建 (竖屏)
V/TwoActivity:  TwoActivity  onCreate  
V/TwoActivity:  TwoActivity  onStart  
V/TwoActivity:  TwoActivity  onResume  
//点击 切换横屏
V/TwoActivity:  TwoActivity  onPause  
V/TwoActivity:  TwoActivity  onStop  
V/TwoActivity:  TwoActivity  onDestroy  
V/TwoActivity:  TwoActivity  onCreate  
V/TwoActivity:  TwoActivity  onStart  
V/TwoActivity:  TwoActivity  onResume  
//再次切换  竖屏
V/TwoActivity:  TwoActivity  onPause  
V/TwoActivity:  TwoActivity  onStop  
V/TwoActivity:  TwoActivity  onDestroy  
V/TwoActivity:  TwoActivity  onCreate  
V/TwoActivity:  TwoActivity  onStart  
V/TwoActivity:  TwoActivity  onResume  

由以上横竖屏切换的生命周期变化来看,singleTask 和 standard (默认)没有区别 ; 测试发现 四种加载模式 当横竖屏切换时 界面都时一样的 变化流程