Android初学之路—Activity生命周期详解

Activity生命周期

首先先了解生命周期的四个状态

活动状态:Activity在用户界面中位于最上层,完全能被用户看到,最重要的是能和用户交互,比如点击按钮,滑动手势等

暂停暂停:Activity界面被部分遮挡,该界面不再位于用户界面的最上层,且用户不能喝它进行交互

停止状态:完全不能被用户看到,就是界面处于后台的时候

非活动状态:就是除了上面三种状态中的Activity,比如你把一个应用关闭了

Activity生命周期图示

 

 

 

 

 

 

  1. 启动Activity时,系统会先调用onCreate()方法,然后调用onStart()方法,最后调用onResume()方法,Activity进入活动状态,也就是对于用户来说可以进行交互的状态
  2. 当Activity被其他Activity部分覆盖或者锁屏时,Activity不能与用户进行交互,系统会调用onPause()方法,暂停当前的Activity的执行,Activity进入暂停暂停
  3. 当Activity由被覆盖的状态回到前台或者解除锁屏时,系统会调用onResume()方法,再次进入活动状态
  4. 当切换到新的Activity界面或者按Home键返回主屏幕时,当前Activity完全不可见,转到后台,系统会先调用onPause()方法,然后调用onStop()方法,Activity进入停止状态
  5. 当Activity处于停止状态时,用户返回到此Activity,系统会先调用onRestart()方法,然后调用onStart()方法,最后调用onResume()方法,再次进入运行状态
  6. 当Activity处于被覆盖状态或者后台不可见,即处于暂停或者停止状态时,如果系统内存不足时,就可能杀死这个Activity。而后用户退回这个Activity时,则会依次调用onCreate()->onStart()->onResume(),使其放活动状态
  7. 用户退出当前Activity时,系统会先调用onPause()方法,然后调用onStop方法,最后调用onDestory()方法,结束当前Activity

Activity的启动模式

  1. standard(默认启动)

一个堆栈中可以有多个相同的的界面,这里说的相同,好比说停车场中型号颜色一样的车,但是有不同的车牌和车位

  1. singleTop

Activity处于栈顶时,不会重新创建,只会调用OnNewInstance方法,如果Activity不在栈顶则重新创建一个新的Activity

  1. singleTask

在堆栈中只允许存在一个界面A,如果再创建界面A,就会调用onNewIntent()方法

  1. singleInstance

创建Activity时,先创建一个新的栈,然后将这个Activity放入该栈中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值