Android——Activity的生命周期

  

一,Demo测试Activity的生命周期

      写两个Activity:

 

package com.example.activity_04;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class FirstActivity extends Activity {

	private Button myButton=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	System.out.println("firstActivity-->onCreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        myButton=(Button)findViewById(R.id.myButton);
        myButton.setOnClickListener(new BtnClick());

    }

    class BtnClick implements OnClickListener{

		@Override
		public void onClick(View arg0) {
			// TODO 自动生成的方法存根
			Intent intent=new Intent();
			intent.setClass(FirstActivity.this,SecondActivity.class );
			FirstActivity.this.startActivity(intent);
		}

    }
	@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.first, menu);
        return true;
    }

	 @Override
	protected void onRestart() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onRestart");
		super.onRestart();
	}

	@Override
	protected void onDestroy() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onDestroy");
		super.onDestroy();
	}

	@Override
	protected void onPause() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onPause");
		super.onPause();
	}

	@Override
	protected void onResume() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onResume");
		super.onResume();
	}

	@Override
	protected void onStart() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onStart");
		super.onStart();
	}

	@Override
	protected void onStop() {
		// TODO 自动生成的方法存根
		 System.out.println("firstActivity-->onStop");
		super.onStop();
	}

}
package com.example.activity_04;

import android.app.Activity;
import android.os.Bundle;

public class SecondActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onCreate");
		super.onCreate(savedInstanceState);
	}

	@Override
	protected void onDestroy() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onDestroy");
		super.onDestroy();
	}

	@Override
	protected void onPause() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onPause");
		super.onPause();
	}

	@Override
	protected void onRestart() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onRestart");
		super.onRestart();
	}

	@Override
	protected void onResume() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onResume");
		super.onResume();
	}

	@Override
	protected void onStart() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onStart");
		super.onStart();
	}

	@Override
	protected void onStop() {
		// TODO 自动生成的方法存根
		System.out.println("SecondActivity--->onStop");
		super.onStop();
	}

}

然后启动程序,如图:

      可以看到第一个Activity以此被调用的方法。

onCreate

OnStart

OnResume

第一次创建时调用,可以配置使用的layout文件

当Activity能被我们看到的时候

当Activity可以获得用户焦点的时候被调用

 

     之后点击第一个Activiyt上的按钮,跳转到第二个Activity:

  

     发现第一个Activity的OnPause方法被调用,接着是初始化一个新的Activity被调用的方法,当第二个Activity出现之后,第一个Activity的OnStop方法被调用。

OnPause

OnStop


应用程序启动另外一个activity的时候,会调用第一个activity的OnPause方法

:通常保存当前Activity的数据

 

当Activity处于不可见的时候会调用第一个activity的Onstop方法,如果新出来的activity不完全遮挡住第一个activity,则不会调用

 

        接着点击back按钮,

注意这里第一个Activity起来之后先调用的是OnRestart方法。

OnDestory

OnRestart


销毁Activity

 

一般两种情况会调用这个方法:

1,调用activity的finish方法

2,当系统资源不够用的时候

 

重新调用paused activity

 

小结:

      Activity调用的生命周期感觉类似.NET里面页面生命周期,感觉比那个简单点儿。

时间: 2024-07-28 12:21:01

Android——Activity的生命周期的相关文章

Android Activity的生命周期详细介绍

Android Activity的生命周期详细介绍 生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法.在这个过程中,会针对不同的生命阶段调用不同的的方法. Activity是Android中四大组件之一,是最常见的应用组件,也是用的最多的组件,它能够提供一个界面与用户进行交互.Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:onCreate  onDestory  onStart  onStop  onRes

新书内容连载(2):Android Activity的生命周期

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书<Android/OPhone开发完全讲义>的内容连载.<Android/OPhone开发完全讲义>一书将在近期出版,敬请关注. 上一篇:新 书内容连载(1):自定义Android组件之带图像的TextView 在Activity从建立到销毁的过程中需要在 不同的阶段调用7个 生命周期方法.这7个 生命周期方法的定义如下: protected void onCreate(Bundle savedInstanceState)p

Android开发之activity的生命周期详解_Android

本文实例讲述了Android activity的生命周期.分享给大家供大家参考,具体如下: activity类处于android.app包中,继承体系如下: 1.Java.lang.Object 2.android.content.Context 3.android.app.ApplicationContext 4.android.app.Activity activity是单独的,用于处理用户操作.几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通

Android开发之activity的生命周期详解

本文实例讲述了Android activity的生命周期.分享给大家供大家参考,具体如下: activity类处于android.app包中,继承体系如下: 1.Java.lang.Object 2.android.content.Context 3.android.app.ApplicationContext 4.android.app.Activity activity是单独的,用于处理用户操作.几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以通

Android开发入门(一)详解活动 1.1 Activity的生命周期

前言: 学习Android也有一年多了,目前在从事Android开发的工作.不敢说精通,但也小有心得 .相信很多android初学者和我刚开始接触android时一样,往往只了解某些知识点的表面,别人要是问点啥 ,还真就说不出个一二三来,往往处于"了解"阶段.所以,我打算将自己学习android的过程和经验总结整 理一下,发表出来,希望对学习android的同学有所帮助,也算给自己的学习进行总结吧.生命不息,学习不 止.一定要学会"享受"学习的过程,否则,学习起来就

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

      转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Android四大组件学习系列Activity篇]       1.Android四大组件之--Activity(一)定义.状态和后退栈(图文详解)       2.Android四大组件之--Activity的生命周期(图文详解)      上一篇文章讲了Activity的定义.状态和后退栈,现在讲讲A

Android开发系列二之窗口Activity的生命周期_Android

在上篇文章给大家介绍了android开发系列一之用按钮实现显示时间,感兴趣的朋友可以点击阅读详情. 在Activity从创建到销毁的过程中需要在不同的阶段调用7个生命周期的方法这7个生命周期方法定义如下: protected void onCreate(Bundle savedInstanceState) protected void onStart() protected void onResume() protected void onPause() protected void onSto

android横竖屏切换时候Activity的生命周期_Android

1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再

Android中Activity的生命周期探讨_Android

1.完整生命周期 上图是Android Activity的生命周期图,其中Resumed.Paused.Stopped状态是静态的,这三个状态下的Activity存在时间较长. (1)Resumed:在此状态时,用户可以与Activity进行交互,Activity在最前端 (2)Paused:在此状态时,Activity被另外一个Activity遮盖,此Activity不可接受用户输入信息.另外一个Activity来到最前面,半透明的,但并不会覆盖整个屏幕. (3)Stopped:在此状态时,A