Android---7---活动及活动的生命周期

什么是Activity

简单的说Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面,也就是手机屏幕上所显示的内容。

在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity。Intent-filter中的两行代码非常重要,表示该活动是主活动。

当程序第一次运行时就可以看到这个Activity,这个Activity可以通过启动其他的Activity进行相关操作。当启动其他的Activity时,这个当前的活动就会停止,被压入栈底,新的活动会在栈顶并运行。当用户按Back键时,当前活动会被销毁,前一个活动重新恢复运行。

活动的生命周期:

活动的七个方法与三个阶段:

1.onCreate()

每个活动都会有的方法,在活动第一次被创建的时候调用

2.OnStart

这个活动在活动由不可见变为可见的时候调用

3.OnResume

这个方法在活动准备好和用户进行交互的时候调用,此时的活动一定位于返回栈的栈顶,并且处于运行状态。

4. onPause()

这个方法在系统准备去启动或者恢复另一个活动的时候调用。 我们通常会在这个方

法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度

一定要快,不然会影响到新的栈顶活动的使用。

5.onStop()

这个方法在活动完全不可见的时候调用。它和 onPause()方法的主要区别在于,如

果启动的新活动是一个对话框式的活动,那么 onPause()方法会得到执行,而 onStop()

方法并不会执行。

6.onDestroy()

这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。

7.onRestart()

这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

以上七个方法中除了 onRestart()方法,其他都是两两相对的,从而又可以将活动分为三

种生存期。

三个阶段:

1.开始Activity:在这个阶段依次执行3个生命周期的方法,分别是:onCreate、onStart和onResume方法

2.Activity重新获得焦点:如果Activity重新获得焦点,会依次执行3个方法,onRestart、onStart和onResume

3.关闭Activity:当Activity被关闭时系统会依次执行3个方法,onPause、onStop和onDestory。

从以上的Activity的生命周期不难看出,该图包含了两层循环,第一层循环是:onPause->onResume->onPause

第二层循环是:onStart->onRestart->onResume->onPause->onStop

第一层循环称为是 焦点生命周期,第二层循环可以视为生命周期。也就是说,第一层循环是在Activity焦点获得与失去的过程中循环,在这个过程中,Activity始终是可见的

第二层循环是Activity可见和不可见的过程中循环。

package com.example.android_life;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

	private String TAG = "MainActivity";

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Log.i(TAG, "onCreate is executed");
	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.i(TAG, "onStart is executed");
	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		Log.i(TAG, "onRestart is executed");
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.i(TAG, "onResume is executed");
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.i(TAG, "onStop is executed");
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Log.i(TAG, "onPause is executed");
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.i(TAG, "onDestroy is executed");
	}
}

当程序部署到模拟器上的时候,先出现了onCreate onStart、onResume(创建->启动->运行)方法,这时候,按拨号按钮,会出现onPause、onStop(暂停->停止)方法。按下Back键  onRestart onStart onResume (重启->启动->运行) 退出键 onPause onStop onDestory(暂停->停止->销毁)

时间: 2024-10-20 12:21:28

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

关于Android四大基本组件介绍与生命周期(转)

Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据. 典型的动作类型有

【转】Android开发之旅:组件生命周期

组件生命周期(一) 引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生命周期将讨论活动.服务.广播接收者的生命周期——包括在生命周期中他们可能的状态.通知状态改变的方法.及这些状态的组件寄宿的进程被终结和实例被销毁的可能性. 本文主要讨论活动的生命周期及他们可能的状态.通知状态改变的方法.分为以下三部分: 1.活动生命周期 2.保存活动状态 3.协

Android四大基本组件介绍与生命周期

主要参考: 1.http://blog.csdn.net/android_tutor/article/details/5772285 2.http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Android四大基本组件介绍与生命周期,布布扣,bubuko.com

【Android 初学】9、Activity生命周期

Start Android  1.如何在一个应用程序当中定义多个Activity 1)定义一个类,继承Activity 2)在该类当中,复写Activity当中的onCreate方法 3)在AndroidMainfest.xml文件当中注册该Activity(android程序中所有的控件都要在次注册) 2.启动一个Activity 1)生成一个意图对象(Intent) 2)调用setClass方法设置所要启动的Activity 3)调用startActivity方法启动Activity 3.A

Android -- Service的开启关闭与生命周期

Service是Android 系统中的四大组件之一,是在一段不定的时间运行在后台,不和用户交互应用组件. service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化等等. 生命周期                                                                                  context.startService() 启动流程: con

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

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

Android活动(Activity)状态与生命周期总结

前言 掌握好Activ的生命周期对任何安卓开发者来说都很重要,当你深入理解时,就可以编写出更加流畅连贯的程序/应用.你的程序将会拥有更好的用户体验. (一)活动状态:每个Activity在其生命周期中最多可能会有四种状态 a:运行状态, 当一个Activity位于回退栈栈顶时,这是Activity就处于运行状态.系统是不会回收处于运行状态的活动的,这样会带来非常差的用户体验. b:暂停状态,当一个活动不在处于栈顶位置,但仍然可见,这时就进入了暂停状态.什么叫做不在栈顶却又可见呢,比如弹出框式的A

android学习四(Activity的生命周期)

要学好活动(Activity),就必须要了解android中Activity的声明周期,灵活的使用生命周期,可以开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈.栈的特性是后进先出,在默认的情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而每当我们按下Back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置.系统总是会显示处于栈顶的活动给用户

【Android】11.4 Fragment及其生命周期

分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如平板电脑等.由于平板电脑的屏幕要比手机屏幕大许多,这样就有更多的空间去组合和交换UI组件. 也许这样比喻你能更快地理解它:和WPF相比,如果将Activity的作用看作类似于WPF的Window或者Page:那么Fragments的作用就类似于WPF在Window或者Page中包含的一个或多个Fra

Android总结篇系列:Activity生命周期

Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity生命周期进行一次总结. Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部.Acitivity一般意义上有四种状态: 1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态: 2.当Activity失去了焦点但