Android零基础入门第75节:Activity状态和生命周期方法

这篇博客介绍了Android中Activity的四种状态:运行、暂停、停止和销毁,详细阐述了每个状态的特点和转换条件。同时,讲解了Activity的生命周期,包括onCreate、onStart、onResume、onPause、onStop和onDestroy等关键方法的回调时机。通过实例展示了Activity状态转换过程,帮助初学者更好地理解和掌握Activity的管理与行为。
摘要由CSDN通过智能技术生成

   前面两期我们学习了Activity的创建和注册、以及启动和关闭,也学会了重写onCraete方法,这些知识在实际开发中远远不够,还需要学习了解更多。

    生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样, Activity也具有相应的生命周期。

一、Activity状态

    一个Android应用程序往往包含多个Activity,当Activity处于Android应用中运行时,每个Activity的状态都不一样。Activity的活动状态由Android以Activity栈的形式管理,当前活动的Activity位于栈顶。随着不同应用的运行,每个Activity都有可能从活动状态转入非活动状态,也可能从非活动状态转入活动状态。

    Activity的生命周期中一共有4种状态,分别如下:

1、运行状态(Active or Running) 

    当Activity在屏幕的最前端时,它处于Activity栈顶,是可见的、有焦点的,可以用来处理用户的常见操作,如点击、双击、长按事件等,这种状态称为运行状态,也叫活动状态。

2、暂停状态(Paused) 

    在某些情况下,Activity对用户来说仍然是可见的,但它不再拥有焦点,即用户对它的操作是没有实际意义的。例如,当最上面的Activity没有完全覆盖屏幕或者是透明的,被覆盖的Activity仍然对用户可见,并且存活(它保留着所有的状态和成员信息并保持与Activity管理器的连接)。但当内存不足时,这个暂停状态的Activity可能会被杀死。

3、停止状态(Stopped) 

    当Activity完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的,如果当系统内存不足时,这个Activity很容易被杀死。

4、销毁状态(Killed) 

    当Activity运行结束,或Activity所在的进程结束时,这种状态称为销毁状态,也叫非活动状态。这时Activity已从Activity栈中移除,需要重新启动才可以显示和使用。当系统内存需要被用在其他地方的时候,一个停止状态的Activity被杀掉。

    另外当Activity处于运行状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先杀死栈底部的Activity,来确保可见的Activity正常运行。 

    关于Activity的这四种状态,是可以相互转化的,如下图所示。

    值得注意的时这四种状态中,运行状态和暂停状态是可见的,停止状态和销毁状态是不可见的。

二、 Activity生命周期

    Activity从一种状态转变到另一种状态时会触发一些事件,执行一些回调方法来通知状态的变化,这就是Activity的生命周期。

    Activity的生命周期及其相关方法的回调,如下图所示。

    从上图可以看到在Activity的生命周期中,有如下几个方法被系统回调。

  • onCreate(Bundle savedStatus):创建Activity时被回调。该方法只会被调用一次。

  • onStart():启动 Activity 时被回调。

  • onRestart():重新启动 Activity 时被回调。

  • onResume():恢复 Activity 时被回调。在onStart()方法后一定会回调 onResume()方法。

  • onPause():暂停 Activity 时被回调。

  • onStop():停止 Activity 时被回调。

  • onDestroy():销毁 Activity 时被回调。该方法只会被调用一次。

     为了更好的掌握Activity生命周期及其方法,接下来通过一个实例来学习,主要实现两个Activity之间跳转时生命周期方法变化的过程。

    仍然使用上期创建的ActivitySample工程,为了便于代码管理,这里新建一个activitylifecycle的Module。该Module一共包含了2个Activity,并在AndroidManifest清单文件中配置两个Activity。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值