`

Activity生命周期总结

 
阅读更多

Android中用于显示的容器是Activity,一个Activity对应一个显示页面。

 

 

  • Activity生命7方法

Activity对象运行与它自己的7个方法密切相关,从对象的创建到销毁,这7个方法在Activity不同阶段运行,具体的方法介绍如下表格所示:

 

Method

Description

Killable

Next

onCreate

当启动新的Activity的时候被调用

No

onStart()

onStart

Activity对用户即将可见时调用

No

onResume() or onStop()

onRestart

重新启动Activity时调用(此方法是重启留在缓存中的Activity

No

onStart()

onResume

Activity界面可与用户交互时调用

No

onPause()

onPause

当系统要启动一个其他的activity时调用,用于保存当前数据

Yes

onResume() or onStop()

onStop

Activity已经不可见时调用

Yes

onRestart() or
onDestroy()

onDestroy

Activityfinish或手机内存不足被销毁的时候调用

Yes

nothing

 

 

 

  • Activity LifeCycle

Google官方提供了Activity LifeCycle的运行图,个人觉得官方提供的图非常简洁明了地介绍了Activity的运行周期:


如上图所示,当启动Activity1时,首先调用onCreate方法初始化Activity的内容,当Activity显示出来的时候调用onStar方法(此时Activity只能看不能点击使用),当Activity可以被点击时,则调用onResume方法;

如果新一个Activity2完全覆盖原Activity1,首先会让Activity1执行onPause方法暂存Activity1的数据,然后依次执行onCreateonStartonResume方法启动Activity2,最后因为Activity1会被Activity2完全覆盖,所以会执行Activity1onStop方法;

另一种情况,如果新Activity2未完全覆盖Activity1(可能只是一个弹出层),则运行流程与上面说的执行流程相同,只是不会执行Activity1的onStop方法;

如果点击手机上的“返回”按钮,当前Activity对象会被销毁,此时就会执行onDestory方法。

 

 

  • AndroidTask

AndroidTask是一个Activity栈,保存的是所有正运行的applicationActivity数据,Task中的Activity可以分属于不同的application,一个Activity栈也可能是由一个或多个Task组成,Task数据仅仅是临时保存,若手机内存不足或长时间未使用该applicationAndroid会自动销毁Task部分Activity数据。

 

  • onSaveInstanceState保存数据
前面提到:Activity处于onPause、onStop和onDestory状态时,如果手机内存资源紧缺就会销毁Activity,这样导致当前Activity填写的数据都化为乌有。Activity含有onSaveInstanceState方法,该方法的参数Bundle可以保存数据,即使当前Activity被销毁,Bundle也是存在的。这样Activity再次启动后onCreate方法的参数Bundle对象其实就是onSaveInstanceState的Bundle对象,所以可以在onCreate方法中再取出Bundle对象中的数据。
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        if(savedInstanceState!=null && savedInstanceState.containsKey(ET_KEY)){
        	EditText et = (EditText)findViewById(R.id.et);
        	et.setText(savedInstanceState.getString(ET_KEY));
        }
    }
    
	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
		EditText et = (EditText)findViewById(R.id.et);
		outState.putString(ET_KEY, et.getText().toString());
	}
 

 

我的百度文库有关于Android Activity生命周期的ppt,免费下载,希望对大家有所帮助:

http://wenku.baidu.com/view/db19524ce518964bcf847cf9.html

 

附Activity生命周期例子,版本2.1

  • 大小: 109.4 KB
1
0
分享到:
评论

相关推荐

    Activity生命周期示例

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

    Android中的Activity生命周期总结

    本文将详细探讨Android中的Activity生命周期,通过官方提供的生命周期流程图进行解析,并讲解每个状态的转换及其对应的函数调用。 首先,Activity的生命周期通常分为四个主要状态:活动状态(running)、暂停状态...

    Android Activity生命周期

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

    android Activity生命周期

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

    Activity生命周期完整介绍

    总结来说,理解并熟练掌握Activity生命周期是Android开发的基础,开发者需要根据应用需求在不同的生命周期方法中编写适当的代码,确保Activity在各种场景下能正确地保存状态、释放资源和响应用户交互。通过阅读《三 ...

    Activity生命周期 启动模式实例

    **Activity生命周期** Activity的生命周期由一系列回调方法组成,这些方法在Activity的不同状态之间被调用。主要的状态包括: 1. **创建(Created)**:当Activity首次被创建时,`onCreate()`方法被调用。这是初始...

    Activity生命周期管理

    总结起来,Activity生命周期管理是Android开发中的关键技能,通过合理使用`ActivityLifeCallbackManagers`和`ActivityLifeCallbackManager`这样的工具类,可以更高效、准确地控制和监控Activity的状态,从而提高应用...

    Activity生命周期详解

    ### Activity生命周期详解 #### 概述 Android应用开发中,`Activity`是四大基础组件之一,主要用于构建用户界面。理解`Activity`的生命周期对于管理应用的状态、资源以及响应用户交互至关重要。 #### `Activity`...

    Android 中从activity1跳转到activity2再回到activity所经历的生命周期

    ### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...

    activity 生命周期 demo

    总结,Activity生命周期的理解和合理利用是Android开发的基础,掌握它能帮助我们编写出更加健壮和用户体验良好的应用。通过这个"Activity生命周期demo",开发者可以实际操作,直观感受每个生命周期方法的调用时机,...

    Activity生命周期demon

    在这个"Activity生命周期demon"中,我们将深入探讨Activity在不同状态下的行为及其转换。 1. **Activity生命周期的阶段** - **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,...

    android activity 生命周期

    1. **初始状态**:当Activity首次被创建时,会经历`onCreate()`方法,这是Activity生命周期的第一个回调,用于进行初始化工作,如设置布局、数据绑定等。 2. **启动状态**:`onStart()`方法紧接着`onCreate()`,...

    android启动以及activity生命周期分析

    ### Android启动及Activity生命周期分析 在Android开发过程中,理解应用程序如何启动及Activity的生命周期是非常重要的。这不仅有助于我们更好地管理程序的状态,还能帮助我们在遇到内存泄漏等问题时进行快速定位和...

    Activity和Fragment生命周期

    1. **创建(Created)**:当Activity首次被创建时,`onCreate()`方法被调用,这是Activity生命周期的第一个回调。在这里,通常会进行初始化工作,如设置布局、加载数据等。 2. **初始化(Initialized)**:`onStart...

    activity_生命周期

    ### Android Activity 生命周期详解 #### 一、引言 在Android应用开发中,了解Activity的生命周期是至关重要的。Activity是Android四大组件之一,它代表了一个屏幕界面,并且是用户与应用程序交互的主要方式。本文...

    Android_Activity生命周期详解(图文)

    ### Android Activity 生命周期详解 #### 一、概述 在Android开发中,`Activity`是四大组件之一,用于构建用户界面,并负责与用户的交互。一个`Activity`通常对应着一个屏幕,当用户在一个应用的不同屏幕间导航时...

Global site tag (gtag.js) - Google Analytics