Activity生命周期详解

Google 官方 Activity 生命周期

  • onCreate()
    当创建启动时调用。
  • onStart()
    当处于可见状态时调用。
    调用场景:Activity启动:onCreate->onStart->onResume
  • onResume ()
    1. 当MainActivity第一次启动时:onCreate->onStart->onResume ;
    2. 当前Activity被挡住一部分后(失去焦点,处于onPause状态)重新回到当前Activity时(UI最顶层)调用,比如说解屏、弹窗消失。
  • onPause()
    当SecondActivity启动时且不完全挡住MainActivity时调用(即MainActivity不在UI最顶层,但依然可见,比如弹窗、锁屏。
  • onStop()
    当SecondActivity启动且完全挡住MainActivity时(MainActivity不在UI最顶层且完全被挡住时),或按HOME键到主屏时调用。
    此时如果退出(点击Back键)SecondActivity(或回到该应用),调用onRestart()。也就是onRestart()是当MainActivity从onStop()重新回到当前Activity(UI最顶层)时调用。
  • onDestory()
    当MainActivity退出时调用(点击Back键),调用finsh()。
Activity生命周期解读
  • 启动Activity
Created with Raphaël 2.1.2 Activity Starts onCreate onStart onResume Activity is Running
  • 当前Activity被其他Activity覆盖一部分其上或被锁屏
Created with Raphaël 2.1.2 Activity is Running onPause Activity is Paused
  • 当前Activity由被覆盖(一部分)状态回到前台或解锁屏
Created with Raphaël 2.1.2 Activity is Paused onResume Activity is Running
  • 当前Activity转到新的Activity界面或按Home键回到主屏,自身返回后台
Created with Raphaël 2.1.2 Activity is Running onPause onStop Activity is Stopped
  • 用户唤醒原Activity
Created with Raphaël 2.1.2 Activity is Stopped onRestart onStart Activity is Running
  • 当前Activity处于被覆盖状态或者后台不可见状态,当更高优先级的apps需要内存,系统内存不足
    系统就会杀死当前Activity,而后用户退回当前Activity,再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
Created with Raphaël 2.1.2 Activity is Paused Processis Killed onCreate onStart Activity is Running
  • 用户退出当前Activity
Created with Raphaël 2.1.2 Activity is Running onPause onStop Activity is Over
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值