Android四大组件之一Activity生命周期

Activity的生命周期

Activity作为Android程序中的四大组件之一,它和大部分的组件一样都是有自己的生命周期,而Activity的生命周期总的分为五种状态以及七个方法,接下来在本章中着重对Activity的生命周期进行讲解。

五种状态

在Activity生命周期即从创建到销毁全过程中,分为五种状态分为启动、运行、暂停、停止和销毁。但是Activity活动时不会在启动和销毁这两种状态下停留下来有活动,因为这两种状态作为Activity活动的过渡状态。在Activity触发启动操作之后马上就会进入运行状态不会停留,而Activity触发到要销毁操作时马上就会被清理内存。

1. 启动状态
Activity的启动状态只是瞬间的事情,在不出意外的情况下,在Activity触发启动操作之后就会立即便会进入到运行状态。
2. 运行状态
Activity在这个状态下就是常见的与用户交互时的状态。它位于屏幕的最前端,是可以看见的,焦点也是停留在本状态的Activity。
3. 暂停状态
通常来说,Activity对于用户来说仍处于可见状态,但是焦点不在此状态的Activity上,用户对此状态的Activity操作不会产生响应。比如,当Activity上突然跳出了一个对话框,而焦点就会从Activity转移到对话框上,所以Activity失去焦点但是对用来说仍是可见的。但是在不处理对话框的情况下无法对Activity进行操作。此时的Activity就是处于暂停状态。
4. 停止状态
当用户操作从Activity01跳转到Activity02时,Activity02就会覆盖掉Activity01,而Activity01就会完全不可见,焦点也会从Activity01跳转到Activity02,它就是处于停止状态了,但是它的内存仍会保存在本Activity中还没有被清理。Activity02处于返回栈的栈顶,而Activity01就会往返回栈的栈底压。
5. 销毁状态
当Activity处于销毁状态时,就会把Activity中的内存清空,并且把Activity清除返回栈。

七个方法

在Activity的生命周期全过程中会依次执行七个方法,分为onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()、onRestart()方法。依次的执行顺序为onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()。在Activity执行onPause()方法会暂时失去焦点,当焦点重新回到Activity时就会重新执行onResume()方法,若是在进程被杀死的情况下就会重新执行onCreate()方法。在Activity执行onStop()方法时会失去焦点,但是用户操作回到本Activity时就会执行onRestart()方法使得本Activity回到最前端,若是在进程被杀死的情况下就会重新执行onCreate()方法。
在这里插入图片描述
图1Activity01的生命周期模型

1. onCreate()方法
在Activity创建的时候调用此方法,通常在此方法中做一些初始化操作。
2. onStart()方法
在Activity可见之前执行,在执行之后就是Activity进入可见的运行状态。
3. onResume()方法
在Activity获取得到焦点开始可以与用户进行交互的时候调用。
4. onPause()方法
当前Activity焦点被其他Activity夺取,或者说被覆盖、锁屏时调用。
5. onStop()方法
在Activity对用户不可见时调用。
6. onDestroy()方法
在Activity要销毁时调用。
7. onRestart()方法
在Activity从停止状态再次获取得到焦点启动时调用。

这里是引用
本文章主要是博主在自己学习Android时看书得到的见解,主要还是借鉴于黑马程序员的《Android移动开发基础》一书。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值