Activity生命周期

活动生命周期
  1. onCreate():活动一开始创建的时候,在这里面进行一些初始化操作
  2. onStart():活动由不可见变为可见的时候调用
  3. onResume():活动准备好和用户进行交互的时候调用,这个时候活动位于返回栈的栈顶,处于运行状态。
  4. onPause:这个时候系统准备去启动或者恢复另一个活动的时候调用,这个时候活动还是可见的
  5. onStop:活动由可见转为不可见的时候调用,它和onPause方法的区别就在于。如果启动的活动是一个对话框的时候,那么onPause会执行,而onStop不会执行
  6. onDestroy:活动由停止状态转为销毁状态调用
  7. onRestart:活动由停止状态转为运行状态的时候调用,也就是活动被重新启动了,这个时候不会再去调用onCreate() 只会调用onStart() onResume()
完整的生命周期

onCreate——onDestroy

可见生存期

onStart(加载可见资源)——onStop(释放内存)

前台生存期

onResume——onPause活动一直处在运行状态,可以和用户进行交互

注意:

这些方法都是回调方法,我们不能够去调用,只能重写方法里面的内容,什么时候调用是Activity来决定的,我们能够手动调用的就只有finish()方法,该方法用于关掉某个Activity。

活动的启动模式
  1. standard:标准模式,无脑模式,就是新建
  2. singleTop:栈顶复用模式,如果新建的activity位于返回栈的栈顶,那么就直接用这个实例,不用新建,如果没有位于栈顶,那么还是得重建。
  3. singleTask:栈内复用模式,如果新建的activity位于返回栈中,那么会将这个activity之上的活动都进行出栈。
  4. singleInstance:单例模式,直接创建一个新的返回栈,将新建的活动放在这个新的返回栈中。
生命周期解析:
  1. 当Activity首次被创建时,会调用onCreate()方法,接着当显示给用户时,调用onStart(),如果要让Activity位于前台的话就需要调用onResume()方法,此时activity位于栈顶。
  2. 当有另一个activity覆盖当前的activity时,这个时候调用onPause()方法,将前一个activity的数据保存起来。
  3. 此时,如果你想让前一个activity不会再显示的话,调用onStop()方法停止该activity,但是如果你想让它回到前台的话,重新获得焦点的话,可以调用onResume()方法。
  4. onStop()后,你可以调用onDestroy()方法来销毁该activity,也是该activity最后一次被调用了,可以通过finish()关闭activity。
  5. 当内存资源不足的时候,就可能杀死处于onPause()的activity所在的进程,但是这种极端的情况很少会发生。
Fragment生命周期

我们可以将fragment看做是一个小的activity,又称activity片段。使用fragment将屏幕划分成几块,进行分组,进行模块化管理,从而可以更加方便的在运行过程中动态的更新activity的用户界面。

fragment不能单独使用,它需要嵌套在activity中使用,即使拥有自己的声明周期,但是还是会受到宿主activity的生命周期的影响。

fragment的四种状态

  1. 运行状态

    fragment可见,且它所关联的活动也处于运行状态,碎片也处于运行状态。

  2. 暂停状态

    活动进入暂停状态(由于一个未占满屏幕的活动被添加到了栈顶),和它相关联的可见碎片就会进入到暂停状态。

  3. 停止状态

    活动进入停止状态,与他相关联的碎片进入停止状态

  4. 销毁状态

    碎片总是依附于活动存在的,活动销毁,碎片也销毁

生命周期

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值