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

Activity作为Android程序中的四大组件之一,它和大部分的组件一样都是有自己的生命周期,而Activity的生命周期总的分为五种状态以及七个方法

只大致讲 五种状态七个方法

五种状态:

在Activity生命周期即从创建到销毁全过程中,分为五种状态分为启动、运行、暂停、停止和销毁。

需要注意的是:Activity活动时不会在 启动 和 销毁 这两种状态下停留下来有活动,因为这两种状态作为Activity活动的过渡状态。所以在Activity触发启动操作之后马上就会进入运行状态不会停留,而Activity触发到要销毁操作时马上就会被清理内存。

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


七个方法:

在Activity的生命周期全过程中会依次执行七个方法,分为onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()、onRestart()方法。

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

一个Activity的流程如下:

运行依次的执行顺序为onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestroy()

当前APP中其他句柄出现的时候:在Activity执行onPause()方法会暂时失去焦点,当焦点重新回到Activity时就会重新执行onResume()方法,若是在进程被杀死的情况下就会重新执行onCreate()方法

切换APP应用的时候:在Activity执行onStop()方法时会失去焦点,但是用户操作回到本Activity时就会执行onRestart()方法使得本Activity回到最前端,若是在进程被杀死的情况下就会重新执行onCreate()方法

参考文章:https://blog.csdn.net/qq_41910568/article/details/84963169

原文地址:https://www.cnblogs.com/zpchcbd/p/12598966.html

时间: 2024-08-12 01:27:02

Android四大组件之Activity的生命周期的相关文章

Android四大组件之——Activity的生命周期(图文详解)

上一篇文章讲了Activity的定义.状态和后退栈,现在讲讲Activity的重点和难点——Activity的生命周期. Activity生命周期的回调方法: //创建Activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //Activity快要变成可见的 @Override protected void onStart() { super.onStart(

Android 四大组件之Service 的生命周期和使用

Service简介: Service 是Android的四大组件之一,一般用于没有UI界面,长期执行的后台任务,即使程序退出时,后台任务还在执行.比如:音乐播放. Service的误区: 1.service在UI线程中执行. 2.不可以在service中执行耗时任务,因为service是在UI线程中运行的. 3.如果需要执行后台的耗时任务,必须在Service中开启一个线程来执行. Service的生命周期: 启动和停止Service的两种方式 1.context.startService():

Android四大组件之——Activity的开启:StartActivity()和StartActivityForResult()(图文详解)

            如需转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:[email protected]       [Android四大组件学习系列Activity篇]        1.Android四大组件之——Activity(一)定义.状态和后退栈(图文详解) 2.Android四大组件之——Activity的生命周期(图文详解) 3.Android四大组件之——Activity的开启StartActivit

【Android的从零单排开发日记】之入门篇(四)——Android四大组件之Activity

在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页面类似.当然,这种相似性主要体现在设计思想上.在具体实现方面,Android的Activity组件有自己的设计规范,同时,它能够更简便地使用线程.文件数据等本地资源. 一.Activity 的生命周期 Activity 的生命周期是被以下的函数控制的. 1 public class Activity

Android四大组件之Activity详解 · yclog

Activity生命周期: onCreate:在Acitivty第一次创建时调用,用于做初始化的工作onStart:onCreate调用后调用,此次界面对用户来说无法看见onResume:此次界面可见并显示到前台,且当前Acitvity位于当前栈顶,并且处于运行状态onPause:表示当前Activity正在停止,常做一些存储数据.停止动画等工作(不做耗时操作)onStop:表示当前Activity即将停止,一般做微量级的回收工作onDestory:表示当前Activity即将被销毁,可做一些回

Android四大组件之Activity(活动)及其布局的创建与加载布局

Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个或多个活动. 手动创建Activity的过程详解 到现在为止,你还没有手动创建过活动呢,在第一个安卓工程中,HelloWorldActivity是ADT帮我们创建的,手动创建活动可以加深我们的理解,因此现在是时候应该自己动手了. 首先,你需要再新建一个 Android 项目,项目名可以叫做 Acti

Android学习之路——Android四大组件之activity(二)

上一篇讲了activity的创建和启动,这一篇,我们来讲讲activity的数据传递 activity之间的数据传递,这里主要介绍的是activity之间简单数据的传递,直接用bundle传递基本数据类型的数据.还有一种数据类型是parcelable和serialable 用bundle 传递数据有两种情况,这篇文章就分别从两个方面说明一下. 一.利用bundle传递基本数据类型 1.启动时传递数据,使用intent的put方法,将数据写入bundle中,然后startActivity(inte

Android学习之路——Android四大组件之activity(一)

一.什么是Activity? Activity简单的说就是一个界面,我们在Android手机上看到的每一个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity,然后在清单文件manifest.xml文件的application节点下注册activity,这个activity就创建成功了. public class MyActivity extends Activity { } 2.清单文件注册activity <application android:a

Android系列教程之Activity的生命周期

通过上一节"Android系列教程之Android项目的目录结构"我们已经知道了什么是Activity,那么为什么我们创建一个Activity的导出类的时候为什么都要覆盖Activity的onCreate方法呢,为什么会在onPause()方法中保存一些当前Activity中的变化,要弄明白这些就要先了解Activity的生命周期,也就是一个Activity才开始到结束都要经过那些状态,下面通过一个例子了解Activity的声明周期. 一:Activity的生命周期方法 Android