Android基础知识回顾——Activity生命周期

Activity的生命周期

返回栈

  • Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack)。当用户在Home界面上点击了一个应用的图标时,这个应用的任务就会被转移到前台。如果这个应用目前并没有任何一个任务的话(说明这个应用最近没有被启动过),系统就会去创建一个新的任务,并且将该应用的主Activity放入到返回栈当中。

活动状态

1.运行状态

  • 当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。系统最不愿意回收的就是处于运行状态的活动,因为这会带来非常差的用户体验。

2.暂停状态

  • 当一个活动不再处于栈顶位置,但仍然可见时,活动就进入了暂停状态。处于暂停状态的活动仍然是完全存活着的,系统也不愿意去回收这种活动,只有在内存极低的情况下,系统才会考虑回收这种活动。

3.停止状态

  • 当一个活动不再处于栈顶位置,并且完全不可见的时候,这时活动就进入了停止状态。系统仍然会为这种活动保持相应的状态和成员变量,但是当其他地方需要内存时,处于停止状态的活动可能会被系统回收。

4.销毁状态

  • 当一个活动从返回栈移除后就变成了销毁状态,系统会优先回收处于这种状态的活动。

活动的生存期

  • Activity类中定义了7个回调方法,覆盖了活动生命周期的每一个环节
  • onCreate() 在活动第一次被创建的时候调用
  • onStart() 在活动由不可见变成可见的时候调用
  • onResume() 在活动准备好和用户交互的时候调用
  • onPause() 在系统准备去启动或恢复的时候调用,通常用于保存一些关键的数据或者释放掉一些资源
  • onStop() 在活动完全不可见的时候调用,它和onPause()方法的区别在于,如果启动的新活动是一个对话框式的活动,那么onPause()方法会执行,而onStop()不会
  • onDestroy() 在活动被销毁之前调用
  • onRestart() 在活动由停止变为运行状态之前调用,也就是活动被重新启动了

1.完整生存期

  • 活动在onCreate() 方法和 onDestroy() 方法之间所经历的就是完整生存期,一般情况下在onCreate() 方法中完成各种初始化操作,在 onDestroy() 方法中完成释放内存的操作

2.可见生存期

  • 活动在onStart() 方法和onStop() 方法之间所经历的就是可见生存期,在可见生存期里,活动总是可见的,我们可以通过这两个方法合理地管理那些对用户可见的资源

3.前台生存期

  • 活动在onResume() 方法和onPause() 方法之间所经历的就是前台生存期,在前台生存期里,活动总是处于运行状态的,我们可以与活动做出各种交互
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值