Android安卓——Activity组件(2)

来源:互联网 发布:程序员的工资组成 编辑:程序博客网 时间:2024/05/19 06:34

本次的学习是继Android安卓——Activity组件(1)Android程序生命周期的学习之后展开的。
可以初步的使用Activity之后,明白了生命周期的存在才能更好的使用Activity组件。

Activity生命周期

组件生命周期

  • 所有Android组件都具有自己的生命周期,是从组件建立到组件销毁的整个过程
  • 在生命周期中,组件会在可见、不可见、活动、非活动等状态中不断变化

1、Activity生命周期

  • Activity生命周期指Activity从启动到销毁的过程
  • Activity表现为四种状态,分别是活动状态、暂停状态、停止状态和非活动状态
    • 活动状态,Activity在用户界面中处于最上层,完全能不用户看到,能够与用户进行交互
    • 暂停状态,Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互
    • 停止状态,Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡
    • 非活动状态不在以上三种状态中的Activity则处于非活动状态

2、Activity的四种状态的变换关系图

这里写图片描述

3、Activity生命周期的事件回调函数

  • 在类书写的事件回调函数
    这里写图片描述
  • 事件回调函数的讲解
    这里写图片描述
  • 状态保存/恢复的事件回调函数
    这里写图片描述

4、Activity生命周期的分类

这里写图片描述

  • Activity的生命周期可分为全生命周期、可视生命周期和活动生命周期
  • 每种生命周期中包含不同的事件回调函数
(1)全生命周期
  • 全生命周期是从Activity建立到销毁的全部过程,始于onCreate(),结束于onDestroy()
  • 使用者通常在onCreate()中初始化Activity所能使用的全局资源和状态,并在onDestroy()中释放这些资源
  • 在一些极端的情况下,Android系统会不调用onDestroy()函数,而直接终止进程
(2)可视生命周期
  • 可视生命周期是Activity在界面上从可见到不可见的过程,开始于onStart(),结束于onStop()
  • onStart()一般用来初始化或启动与更新界面相关的资源
  • onStop()一般用来暂停或停止一切与更新用户界面相关的线程、计时器和服务
  • onRestart()函数在onSart()前被调用,用来在Activity从不可见变为可见的过程中,进行一些特定的处理过程
  • onStart()和onStop()会被多次调用
  • onStart()和onStop()也经常被用来注册和注销BroadcastReceiver
(3)活动生命周期
  • 活动生命周期是Activity在屏幕的最上层,并能够与用户交互的阶段,开始于onResume(),结束于onPause()
  • 在Activity的状态变换过程中onResume()和onPause()经常被调用,因此这两个函数中应使用更为简单、高效的代码
  • onPause()是第一个被标识为“可终止”的函数
  • 在onPause()返回后,onStop()和onDestroy()随时能被Android系统终止
  • onPause()常用来保存持久数据,如界面上的用户的输入信息等
(4)onPause()和onSaveInstanceState()的区别
这两个函数都可以用来保存界面的用户输入数据,他们的区别在于
  • onPause()一般用于保存持久性数据,并将数据保存在存储设备上的文件系统或数据库系统中的
  • onSaveInstanceState()主要用来保存动态的状态信息,信息一般保存在Bundle中
  • Bundle是能够保存多种格式数据的对象
  • 在onSaveInstanceState()保存在Bundle中的数据,系统在调用onRestoreInstanceState()和onCreate()时,会同样利用Bundle将数据传递给函数
原创粉丝点击