`
ze_nana
  • 浏览: 52287 次
社区版块
存档分类
最新评论

(三)Activity生命周期

 
阅读更多

      新的activity启动后,前一个activity就会停止,系统将其保存到一个历史栈中。返回时,顶层的activity就会被销毁,之前的activity就会重新显示在屏幕上。当然,如果系统内存不足,后台的activity就会被销毁。

 

     androidmanifest中的intent-filter标签指定了初始启动的activity

 

Activity生命周期:由android系统管理

onCreate()

onStart()

onRestart()

onResume()

onPause()

onStop()

onDestroy()

 


 

 

 

 

 

 

 

package com.example.ex;

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

public class MainActivity extends Activity {

	private static final String LIFETAG="Aclifecycle";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	
	@Override
	protected void onStart(){
		super.onStart();
		Log.d(LIFETAG,"onstart method is executed");
	}
	@Override
	protected void onResume(){
		super.onResume();
		Log.d(LIFETAG,"onresume method is executed");
	}
	@Override
	protected void onRestart(){
		super.onRestart();
		Log.d(LIFETAG,"onrestart method is executed");
	}
	@Override
	protected void onPause(){
		super.onPause();
		Log.d(LIFETAG,"onpause method is executed");
	}
	@Override
	protected void onStop(){
		super.onStop();
		Log.d(LIFETAG,"onstop method is executed");
	}
	@Override
	protected void onDestroy(){
		super.onDestroy();
		Log.d(LIFETAG,"ondestroy method is executed");
	}

	
}

启动程序:

执行3个生命周期方法:

onCreate()     activity第一次创建时调用 

onStart()        activity对用户即将可见时调用

onResume()   activity即将与用户交互时调用 磁石activity进入栈顶

在这之后总是调用onpause()方法

 



 

按下模拟器的拨号按钮,activity失去焦点,观察logcat中信息:



 

 

onPause()在activity启动另一个activity时调用。下一个activity必须等待这个方法返回后再启动。

onStop()在一个新的activity启动,其他activity被切换到前台,当前activity被销毁时都会调用。

 

点击返回键:



 

当activity从stopped状态启动时调用OnRestart()方法,后面总是调用onstart()方法。

 

再次按返回键,关闭activity:


 

 

 

    很多时候,在关闭一个activity后,用户期望再次返回到哪个activity,它仍保持离开时的样子,这时候就需要考虑如何保存activity。

    为了获取activity被杀死前的状态,应该为activity实现onSaveInstanceState()方法。它在activity被系统销毁前调用。

    用户造成的销毁(如按下返回键),不会调用。

    最好用onpause()方法来保存在停止与用户交互前更改过的数据。

 

总结:

oncreat() ondestroy()创建和销毁

onstart() onstop() 可见和不可见

onresume() onpause()焦点和无焦点

onrestart() 在onstop()以后却没有执行ondestroy()方法时调用。如调用了ondestroy则调用onCreat。

 

 

 

 

 

 

 

 

 


 

  • 大小: 33.1 KB
  • 大小: 1.5 KB
  • 大小: 948 Bytes
  • 大小: 898 Bytes
  • 大小: 1.5 KB
  • 大小: 1 KB
  • 大小: 1.2 KB
分享到:
评论

相关推荐

    Activity生命周期完整介绍

    在Android应用开发中,Activity是用户界面的主要组件,它负责与用户进行交互。理解Activity的生命周期至关重要,因为...通过阅读《三 activity生命周期.docx》文档,你将能更深入地理解这些概念,并在实际项目中应用。

    Activity生命周期与启动模式

    **Activity生命周期** Activity的生命周期包括了从创建到销毁的各个阶段,主要有以下7个关键状态: 1. **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这里,通常进行初始化工作,如...

    Activity生命周期演示

    日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...

    Activity生命周期示例

    在Android应用开发中,Activity是用户界面的基本单元,它负责展示...在提供的`Activity_04`文件中,可能包含了演示这些生命周期方法变化的代码示例,通过学习和分析这些示例,开发者可以加深对Activity生命周期的理解。

    测试Activity生命周期

    "测试Activity生命周期"的DEMO旨在帮助开发者直观地了解和调试Activity在不同场景下的状态变化。在这个DEMO中,我们可以通过观察日志输出或使用Android Studio的调试工具来跟踪Activity的状态。 Activity的生命周期...

    2020-实验1-Activity生命周期验证(已完成)1

    Activity生命周期的理解和管理对于编写高效、响应式的Android应用至关重要。本实验旨在深入探索Activity的生命周期,并通过实践来理解各个阶段的工作流程以及它们之间的转换。 首先,我们来看一下Activity的生命...

    Activity生命周期图

    很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图

    activity生命周期

    这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、数据绑定等。 2. **启动(Started)**:`onStart()`方法标志着Activity可见但可能不完全在前台。用户可以看到Activity,但不能与其交互...

    Activity生命周期分析

    这是Activity生命周期中的活跃状态。 - `onPause()`:当Activity即将被另一个Activity覆盖,但仍然部分可见时,系统调用`onPause()`。在此方法中,你应该保存临时数据,但不应执行耗时操作,因为它会影响新Activity...

    Android activity生命周期示例

    本示例项目“Android activity生命周期示例”旨在帮助开发者深入理解Activity的生命周期及其各个阶段,这对于优化用户体验和资源管理至关重要。 Activity的生命周期包括以下几个主要状态: 1. **创建(Created)**...

    Activity生命周期demo

    谷歌官方提供的Activity生命周期示例("Activity lifecycle demo")是一个实用的教学工具,帮助开发者直观地理解Activity在不同情况下的状态变化。 这个demo最初是基于Eclipse开发的,但已经转化为更适合现代开发...

    Activity生命周期完美呈现

    在"Activity生命周期完美呈现"的项目中,开发者可以创建一个简单的Activity,通过Log输出或可视化的方式,展示Activity在不同状态间的转换,这样可以直观地看到每个生命周期方法的调用顺序,加深理解。 总之,理解...

    android activity 生命周期详细介绍

    ### 一、Android Activity生命周期介绍 #### 1. onCreate() 当Activity首次创建时被调用,这是初始化Activity的最佳时机。在该方法中通常会执行一些初始化操作,比如设置布局文件、初始化UI组件等。 示例: ``` @...

    activity生命周期函数

    7. onDestroy():Activity即将被销毁时调用,这是Activity生命周期的最后阶段。在此阶段,可以做彻底的清理工作,例如关闭数据库连接、取消定时任务等。 二、Activity与Fragment的生命周期 Fragment是Android 3.0...

    Activity生命周期总结

    ### Activity 生命周期总结 在 Android 开发中,理解 Activity 的生命周期是非常重要的,因为它直接影响到应用程序的行为、性能以及用户体验。本文将详细介绍 Activity 生命周期中的各个方法及其触发条件,并通过...

    Activity生命周期源代码

    了解Activity的生命周期是每个Android开发者必备的知识。Activity的生命周期由一系列的方法组成,这些方法会在特定时刻被系统调用,例如当Activity创建、启动、暂停、恢复或销毁时。通过分析Activity的源代码,我们...

    Android Activity生命周期

    Android Activity 生命周期 Android Activity 生命周期是指 Activity 从创建到销毁的整个过程,该过程中会经历多个状态变化,每个状态变化都会触发相应的回调方法。理解 Activity 生命周期是 Android 开发的基础。 ...

    android Activity生命周期

    一、Activity生命周期概述 Activity的生命周期由创建、启动、运行、暂停、停止和销毁这6个状态构成。每个状态的变化都会触发特定的方法回调,开发者可以重写这些方法以执行相应的操作。 1. 创建(Creation): - `...

    android Activity生命周期详解(图文)

    总之,深入理解Activity生命周期和其背后的源码逻辑,对于编写高效、响应迅速且用户体验优秀的Android应用至关重要。开发者应熟练掌握这些知识点,以便在设计和调试应用时能得心应手。通过实践和分析ActivityDemo,...

    Activity生命周期Demo

    在这个"Activity生命周期Demo"中,我们将深入探讨Activity如何启动、运行、暂停、停止以及销毁的过程,以及在这些状态转换中如何适当地处理程序逻辑。 1. **Activity生命周期的基本阶段** - **创建(Created)**: ...

Global site tag (gtag.js) - Google Analytics