【生命周期】Activity的生命周期举例

目录

情景I:两个Activity启动与退出【启动A--启动B--退出B--退出A】

情景II :横竖屏【横屏--竖屏】

情景III :横竖屏(添加配置)【横屏--竖屏】 

情景IV  :按Home键|任务键

情景V:强杀后台【启动--任务键--杀后台】

情景VI:强杀后台【启动--Home键--任务键--杀后台】

情景VI:强杀后台【启动--Home键--任务键--MIUI清理内存】

 

情景A:启动Activity

情景B:启动其他Activity

情景C:启动其他Activity后按返回键

情景D:使用recreate()方法

情景G:按Home键,再回到应用

情景H:启动另一个Activity,再在其中启动测试Activity,之后按返回键直至退出测试Activity

情景I:启动另一个Activity,再在其中启动测试Activity,之后按返回键直至退出测试Activity



情景I:两个Activity启动与退出【启动A--启动B--退出B--退出A】

配置:A_Activity:launchMode="standard"        B_Activity:launchMode="standard"    

// A_Activity启动
10-22 16:53:07.575 : A_Activity---> onCreate()
10-22 16:53:07.589 : A_Activity---> onStart()
10-22 16:53:07.591 : A_Activity---> onResume()

// A 启动 B_Activity
10-22 16:53:10.151 : A_Activity---> onPause()
10-22 16:53:10.165 : B_Activity---> onCreate()*
10-22 16:53:10.178 : B_Activity---> onStart()*
10-22 16:53:10.178 : B_Activity---> onResume()*
10-22 16:53:10.514 : A_Activity---> onSaveInstanceState()
10-22 16:53:10.515 : A_Activity---> onStop()

// B 按返回键退出
10-22 16:55:05.603 : B_Activity---> onPause()*
10-22 16:55:05.617 : A_Activity---> onRestart()
10-22 16:55:05.617 : A_Activity---> onStart()
10-22 16:55:05.618 : A_Activity---> onResume()
10-22 16:55:05.963 : B_Activity---> onStop()*
10-22 16:55:05.964 : B_Activity---> onDestroy()*

// A 按返回键退出
10-22 16:55:50.173 : A_Activity---> onPause()
10-22 16:55:50.531 : A_Activity---> onStop()
10-22 16:55:50.531 : A_Activity---> onDestroy()

 

 情景II :横竖屏【横屏--竖屏】

配置:A_Activity:launchMode="standard" 

// 横屏|竖屏
10-22 17:01:04.579 : A_Activity---> onPause()
10-22 17:01:04.580 : A_Activity---> onSaveInstanceState()
10-22 17:01:04.580 : A_Activity---> onStop()
10-22 17:01:04.583 : A_Activity---> onDestroy()
10-22 17:01:04.620 : A_Activity---> onCreate()
10-22 17:01:04.636 : A_Activity---> onStart()
10-22 17:01:04.637 : A_Activity---> onRestoreInstanceState()
10-22 17:01:04.638 : A_Activity---> onResume()

 

情景III :横竖屏(添加配置)【横屏--竖屏】 

配置:A_Activity:launchMode="standard"   configChanges="orientation|screenSize|screenLayout|keyboardHidden"

// 横屏|竖屏 【均不走生命周期】

 

情景IV  :按Home键|任务键

配置:A_Activity:launchMode="standard"
注:单独只按任务键,不走生命周期

// 启动A
10-22 17:29:18.785 : A_Activity---> onCreate()
10-22 17:29:18.798 : A_Activity---> onStart()
10-22 17:29:18.799 : A_Activity---> onResume()

// 按Home键|按任务键切换至其他应用
10-22 17:29:58.166 : A_Activity---> onPause()
10-22 17:29:58.419 : A_Activity---> onSaveInstanceState()
10-22 17:29:58.419 : A_Activity---> onStop()

// 点击应用图标打开应用|使用任务键打开应用
10-22 17:30:44.207 : A_Activity---> onRestart()
10-22 17:30:44.211 : A_Activity---> onStart()
10-22 17:30:44.212 : A_Activity---> onResume()

// 退出应用
10-22 17:31:20.265 : A_Activity---> onPause()
10-22 17:31:20.628 : A_Activity---> onStop()
10-22 17:31:20.629 : A_Activity---> onDestroy()

 

情景V:强杀后台【启动--任务键--杀后台】

// 启动A_Activity
10-22 17:47:26.432 : A_Activity---> onCreate()
10-22 17:47:26.445 : A_Activity---> onStart()
10-22 17:47:26.446 : A_Activity---> onResume()

// 直接按任务键,不走生命周期

// 杀掉应用后台
 10-22 17:47:46.267 : A_Activity---> onPause()

 

情景VI:强杀后台【启动--Home键--任务键--杀后台】

// 启动A_Activity
10-22 17:48:50.499 : A_Activity---> onCreate()
10-22 17:48:50.516 : A_Activity---> onStart()
10-22 17:48:50.516 : A_Activity---> onResume()

// 先按Home键
  10-22 17:49:02.024 : A_Activity---> onPause()
  10-22 17:49:02.305 : A_Activity---> onSaveInstanceState()
  10-22 17:49:02.305 : A_Activity---> onStop()

// 再按任务键,不走生命周期

// 杀掉应用后台,不走生命周期


​​​​​​​情景VI:强杀后台【启动--Home键--任务键--MIUI清理内存】

// 启动A_Activity
10-22 17:56:42.183 : A_Activity---> onCreate()
10-22 17:56:42.198 : A_Activity---> onStart()
10-22 17:56:42.199 : A_Activity---> onResume()

// 先按Home键
10-22 17:56:53.094 : A_Activity---> onPause()
10-22 17:56:53.355 : A_Activity---> onSaveInstanceState()
10-22 17:56:53.356 : A_Activity---> onStop()

// 再按任务键,不走生命周期

// 使用MIUI清理内存,有时不走生命周期,有时会走如下生命周期:
10-22 17:57:06.037 : A_Activity---> onDestroy()

情景A:启动Activity

配置:launchMode="standard"

=================>: LifeCycleActivity【onCreate()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

情景B:启动其他Activity

配置:launchMode="standard"

=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】

情景C:启动其他Activity后按返回键

配置:launchMode="standard"
使用startActivityForResult方法启动其他Activity

// 启动其他Activity
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】
// 按返回键
=================>: LifeCycleActivity【onActivityResult()】
=================>: LifeCycleActivity【onRestart()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

情景D:使用recreate()方法

配置:launchMode="standard"
在onResume()/onPause()状态下使用recreate()方法

=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】
=================>: LifeCycleActivity【onDestroy()】

=================>: LifeCycleActivity【onCreate()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

 

情景G:按Home键,再回到应用

配置:launchMode="standard"

// 按Home键
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】

// 再次回到应用
=================>: LifeCycleActivity【onRestart()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

情景H:启动另一个Activity,再在其中启动测试Activity,之后按返回键直至退出测试Activity

配置:launchMode="standard"

// 启动C_Activity
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】

// 在C_Activity中启动测试Activity
=================>: LifeCycleActivity【onCreate()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

// 按返回键(回到之前的测试Activity,未退出)
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onRestart()】*
=================>: LifeCycleActivity【onStart()】*
=================>: LifeCycleActivity【onResume()】*
=================>: LifeCycleActivity【onStop()】
=================>: LifeCycleActivity【onDestroy()】

// 再按返回键(退出)
=================>: LifeCycleActivity【onPause()】*
=================>: LifeCycleActivity【onStop()】*
=================>: LifeCycleActivity【onDestroy()】*

情景I:启动另一个Activity,再在其中启动测试Activity,之后按返回键直至退出测试Activity

配置:launchMode="singleTask"

// 启动C_Activity
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onSaveInstanceState()】
=================>: LifeCycleActivity【onStop()】

// 在C_Activity中启动测试Activity
=================>: LifeCycleActivity【onNewIntent()】
=================>: LifeCycleActivity【onRestart()】
=================>: LifeCycleActivity【onStart()】
=================>: LifeCycleActivity【onResume()】

// 再按返回键(退出)
=================>: LifeCycleActivity【onPause()】
=================>: LifeCycleActivity【onStop()】
=================>: LifeCycleActivity【onDestroy()】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值