Activity的生命周期函数

说明:初探activity 生命周期的7个函数。

例子:在MainActivity里面添加一个按钮,触动按钮,跳转到OtherActivity,观察控制台的输出。

先来看看这几个函数:

他们的流程可以看看官网提供的流程图:

下面这张金字塔型的图可能更直观一些:

关看图没意思,看看程序运行起来的效果先。

步骤:1、在MainActivity里面复写其他6个函数。并且定义一个OtherActivity类,在activity_main添加一个按钮,跳转到OtherActivity,并为OtherActivity定义一个布局文件Other.xml。(这个在上一篇已经说过方法了,在这里就不再重复了。)

package com.away.b_02_lifecycle;

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

public class MainActivity extends Activity {

	private Button button; 

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button = (Button) findViewById(R.id.Button);
		button.setOnClickListener(new ButtonListener());
		System.out.println("MainActivity:OnCreate");
	}

	class ButtonListener implements OnClickListener {
		@Override
		public void onClick(View v) {
			Intent intent = new Intent();
			intent.setClass(MainActivity.this, OtherActivity.class);
			startActivity(intent);
		}
	}

	@Override
	protected void onDestroy() {
		super.onDestroy();
		System.out.println("MainActivity:onDestroy");
	}

	@Override
	protected void onPause() {
		super.onPause();
		System.out.println("MainActivity:onPause");
	}

	@Override
	protected void onRestart() {
		super.onRestart();
		System.out.println("MainActivity:onRestart");
	}

	@Override
	protected void onResume() {
		super.onResume();
		System.out.println("MainActivity:onResume");
	}

	@Override
	protected void onStart() {
		super.onStart();
		System.out.println("MainActivity:onStart");
	}

	@Override
	protected void onStop() {
		super.onStop();
		System.out.println("MainActivity:onStop");
	}
}

2、在OhterActivity里面也复写7个函数。

直接看结果:直接在控制台观察,启动MainActivity→OtherActivity的过程,函数的调用时机。

启动MainActivity:

点击按钮,跳转到OtherActivity:

当点击后退按钮,退回到MainActivity的时候:

这里涉及到back stack:

1、启动第一个Activity,backstack里面就有了第一个Activity对象。

2、启动第二个Activity,backstack里面增加了第二个Activity对象。

3、启动第三个Activity,backstack里面增加了第三个Activity对象。如果按返回键,返回到第二个Activity,那么,在backstack里面第三个Activity对象就会被销毁。以此类推,backstack遵循先进先出的顺序。

写完了。深夜写的,原创不易,转载标明出处~~晚安。

时间: 2024-10-25 19:53:50

Activity的生命周期函数的相关文章

Android Activity常用生命周期函数

在Activity中主要有7个常用的周期函数,他们分别是: (一)onCreate 在Activity对象被第一次创建时调用 注: 从另一个Activity返回到前一个Activity时,不会调用该函数 (二)onStart 当Activity变得可见时调用该函数 (三)onResume 当Activity开始准备与用户交互时调用该方法 注: 也可以理解为当Activity加载完毕,并且用户没有对Activity操作的时候调用到的函数 (四)onPause 当系统即将启动另外一个Activity

为什么Activity生命周期函数是运行在UI线程

这是我自己给自己提的问题,或者说是Activity的生命周期函数是怎样运行在主线程的?下面简单分析一下,讨论的问题其实远远不止于这个问题.会涉及到进程的启动,Binder的线程池,ActivityThread中的消息处理. 进程开启 我们最开始接触Android的时候,都知道主线程和非主线程区别,我们可以用Handler来将代码运行在主线程中.而主线程是如何开启的呢?在ActivityThread当中有个公有静态main方法,每次ActivityManagerService请求Zygote进程f

Android学习笔记(十) Activity的生命周期

一.如何在一个应用程序中定义多个Activity -定义一个类,继承Activity -复写onCreate() setContentView(R.layout.secondLayout):设定该Activity使用的布局文件 -在AndroidManifest.xml文件中注册该Activity 1)在Application标签里面加入一个Activity标签,name一般为"包名+类名",label一般为Activity名 2)如果要修改程序默认启动的Activity,需要将int

从Android到IOS,IOS应用生命周期函数

由于对于自己的C基础还算满意,花了一个月断断续续的把OC看完了,最近在看一些IOS开发的知识.初次创建一个IOS项目,xCode会自动生成这些文件与目录 从头开始,应用首次执行会先从main函数开始执行. int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } } 看到源码中

Activity生命周期函数、onSaveInstanceState()和onRestoreInstanceState()的介绍

本文涉及了Activity中的 onSaveInstanceState() 和 onRestoreInstanceState()方法,需要注意的他们并不是生命周期方法.我放在这是为了整合起来讲解. 一.生命周期中的方法调用时机 本文转自:http://blog.csdn.net/android_tutor/article/details/5772285 1) 首次执行时执行:onCreate()->onStart()->onResume() 2) 部分可见(被对话框等遮挡)时执行:onPaus

(八)activity的生命周期

8.1 activity的7个生命周期方法 onCreate().onStart().onResume().onpause().onstop().ondestroy().onRestart()方法.onRestart()方法是当一个已经创建的Activity重新位于前台时,会调用此方法,其他的六个生命周期函数调用时机如下所示: 8.2 activity的生命周期 8.3  生命周期函数的应用场景 ondestroy():程序被销毁的时候调用,比较适合数据的持久化操作,保存数据. onStart(

Fragment中生命周期函数的介绍

1)第一次启动:onCreate->onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onResume 2)按下返回键:onPause->onPause->onStop->onStop->onDestroyView->onDestroy->onDetach->onDestroy 恢复时:因为按下返回键直接销毁了,所以恢复的时候会从

Android成长之路(3)——Activity的生命周期(1)

当用户在用一个App的时候,Activity会在生命周期不同的状态下转换. 当用户离开或重新回到一个Activity,我们可以在生命周期的回调函数中来写一些相关的操作.比如,如果用户打开了一个视频播放器,当他直接切换到另外一个App,这时候应该使播放器暂停,断开获取视频资源的网络连接.当用户回来,我们要重新连接网络获取视频资源,让用户在刚才暂停的位置开始重新观看. 接下来,开始去了解非常重要的生命周期的回调函数,学着怎么去用它们来执行一些使用户有更好体验的操作,并且当我们不需要它们时,不要消耗系

【Android开发学习笔记】【第五课】Activity的生命周期-上

今天学习Activity当中的七个生命周期函数: 首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容 打开之后只输入“Filter Name”和“by Log Tag” 即可 添加成功后可以看到 本次学习主要总结如下: 1.onCreate() Acitivity首次创建时被调用.用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作. 2.onStart() Acitivity对用户可