Android活动的生命周期

掌握活动的生命周期对任何Android开发者来说都非常重要,当你深入理解活动的生命周期之后,就可以写出更加连贯流畅的程序。

-----------------------------------------------返回栈-----------------------------------------------------------

Android的活动是可以层叠的。每启动一个新活动,就会覆盖在原有活动之上,然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。

其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack)。

在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或调用finish()方法去销毁一个活动时,处于顶栈的活动就会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。

系统总是会显示处于栈顶的活动给用户。

-----------------------------------------------活动状态------------------------------------------------

运行状态:当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。

暂停状态:当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入暂停状态。内存极低情况下,系统才会考虑回收这种活动。

停止状态:当一个活动完全不可见时,就进入了停止状态。系统仍然会为这种活动保存相应的状态和成员变量,但并不可靠,仍有可能被系统回收。

销毁状态:当一个活动从返回栈中移除之后就变成了销毁状态。系统会回收此状态的活动,从而保证手机内存充足。

---------------------------------------------活动的生存期------------------------------------------------

Activity类的七个回调方法,覆盖了活动生命周期的每一个环节。

1.onCreate()————————初始化操作,活动第一次被创建时调用

2.onStart()—————————启动操作,活动由不可见变为可见时调用

3.onResume()————————交互操作,活动准备与用户交互时调用

4.onPause()—————————暂停操作,系统准备启动或恢复另一个活动时调用

5.onStop()——————————停止操作,活动完全不可见的时候调用

6.onDestroy()————————回收操作,活动被销毁之前调用

7.onRestart()————————重启操作,活动由停止变为运行状态之前调用

以上方法除了onRestart()方法,其他都是对应的,从而又可以将活动分为三种生存周期

完整生存期:

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

可见生存期:

  活动在onStart()方法和onStop()方法之间所经历的,就是可见生存周期。在可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。可以通过这两种方法,合理的管理那些对用户可见的资源。

前台生存期:

  活动在onResume()方法和onPause()方法之间所经历的,就是前台生存周期。在前台生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行交互的,和用户接触最多的也就是这个状态下的活动了。

  

原文地址:http://www.cnblogs.com/woider/p/5117034.html

时间: 2024-10-10 21:10:13

Android活动的生命周期的相关文章

Xamarin.Android活动的生命周期

一.前言 用过Android手机的人一定会发现一种现象,当你把一个应用置于后台后,一段时间之后在打开就会发现应用重新打开了,但是之前的相关的数据却没有丢失.可以看出app的“生命”是掌握在系统手上的,而不像Windows上开发的程序. 二.活动的生命周期 这里我们借助一张图帮助我们理解: 当然很多人现在还看不懂这张图,下面我们会逐一介绍: 1.OnCreate 这个方法是打开活动后第一个执行的事件,当然也是我们必须重写的一个方法,其中它大致负责如下的事情: l  创建视图 l  初始化变量 l 

Android——活动的生命周期

原:http://blog.csdn.net/w709835509/article/details/7655240 1 import android.app.Activity; 2 import android.os.Bundle; 3 4 public class MainActivity extends Activity { 5 // 在这里进行初始化操作,如界面加载与事件绑定 6 @Override 7 public void onCreate(Bundle savedInstanceSt

(Android第一行代码活动的生命周期)生命周期

活动的生命周期   掌握活动的生命周期对任何 Android开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有更好的用户体验.     返回栈    1.  定义: Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动 的集合这个栈也被称作返回栈(Back Stack).    2. 栈顶:存放刚启动的一个新的活动.(当我们 按下 Back键或调用 finis

Android学习笔记(五)——活动的生命周期

//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 为了能写出流畅连贯的程序,我们需要了解一下活动的生命周期. 一.返回栈 Android 中的活动是可以层叠的.我们每启动一个新的活动,就会覆盖在原活动之上,然后点击 Back 键会销毁最上面的活动.事实上,Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack) .默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位

Android第一行代码学习笔记七---活动的生命周期

@1.返回栈 Android中的活动是可以层叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键就会销毁最上面的活动,下面一个活动就会重新显示出来. Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,

【Android】16、体验活动的生命周期(上)

本篇博文最后修改时间:2016年5月8日,23:37. 一.简介 本篇介绍体验活动的生命周期. 二.实验平台 系统版本:Windows7 家庭普通版 32位操作系统. 三.版权声明 博主:思跡 声明:喝水不忘挖井人,转载请注明出处. 原文地址:http://blog.csdn.net/omoiato 联系方式:[email protected] Java零基础入门交流群:541462902 四.体验活动的生命周期 1.关闭ActivityTest 项目,新建一个ActivityLifeCycle

Android studio教程:[5]活动的生命周期

想要学好安卓开发,就必须理解安卓软件的生命周期,明白一个活动的创建.启动.停止.暂停.重启和销毁的过程,知道各个阶段会调用什么函数进行处理不同的情况,这里我就通过一个简单的例子让大家明白一个活动的生命周期. 工具/原料 Android studio 一部安卓手机或者安卓模拟器 Android studio如何重写函数 1 在Android studio中,如果需要重新某个函数,可以在菜单栏中的“code”下选择第一项“override methods”,或者按Ctrl+O打开. 2 在弹出的列表

【Android】15、活动的生命周期

本篇博文最后修改时间:2016年5月5日,23:37. 一.简介 本篇介绍活动的生命周期. 二.实验平台 系统版本:Windows7 家庭普通版 32位操作系统. 三.版权声明 博主:思跡 声明:喝水不忘挖井人,转载请注明出处. 原文地址:http://blog.csdn.net/omoiato 联系方式:[email protected] Java零基础入门交流群:541462902 四.活动的生命周期 1.学习意义 掌握活动的生命周期对任何Android 开发者来说都非常重要, 当你深入理解

Android进程的生命周期

Android系统想要永久的保留一个应用进程几乎是不可能的,所以系统就需要不断的释放老的或者不太重要的进程以便腾出足够的内存空间来运行新的或者更重要的进程,那么系统如何决定哪个进程应该保留哪个应该杀死呢,原来系统会根据进程中运行组件以及他们的状态列出一个"重要层级",当内存出现紧张的时候,系统会首先杀死最不重要的进程,接着是第二个,第三个...,以此类推来不断的释放系统资源直到内存不再紧张为止. 根据这个重要层级系统把进程分为了5个级别,下面要说的就是这五种不同的进程类型: 1.for