Android中用于显示的容器是Activity,一个Activity对应一个显示页面。
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
|
当Activity被finish或手机内存不足被销毁的时候调用
|
Yes
|
nothing
|
Google官方提供了Activity LifeCycle的运行图,个人觉得官方提供的图非常简洁明了地介绍了Activity的运行周期:
如上图所示,当启动Activity1时,首先调用onCreate方法初始化Activity的内容,当Activity显示出来的时候调用onStar方法(此时Activity只能看不能点击使用),当Activity可以被点击时,则调用onResume方法;
如果新一个Activity2完全覆盖原Activity1,首先会让Activity1执行onPause方法暂存Activity1的数据,然后依次执行onCreate、onStart、onResume方法启动Activity2,最后因为Activity1会被Activity2完全覆盖,所以会执行Activity1的onStop方法;
另一种情况,如果新Activity2未完全覆盖Activity1(可能只是一个弹出层),则运行流程与上面说的执行流程相同,只是不会执行Activity1的onStop方法;
如果点击手机上的“返回”按钮,当前Activity对象会被销毁,此时就会执行onDestory方法。
Android的Task是一个Activity栈,保存的是所有正运行的application的Activity数据,Task中的Activity可以分属于不同的application,一个Activity栈也可能是由一个或多个Task组成,Task数据仅仅是临时保存,若手机内存不足或长时间未使用该application,Android会自动销毁Task部分Activity数据。
前面提到: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
分享到:
相关推荐
在Android应用开发中,Activity是用户界面的基本单元,它负责展示...在提供的`Activity_04`文件中,可能包含了演示这些生命周期方法变化的代码示例,通过学习和分析这些示例,开发者可以加深对Activity生命周期的理解。
本文将详细探讨Android中的Activity生命周期,通过官方提供的生命周期流程图进行解析,并讲解每个状态的转换及其对应的函数调用。 首先,Activity的生命周期通常分为四个主要状态:活动状态(running)、暂停状态...
Android Activity 生命周期 Android Activity 生命周期是指 Activity 从创建到销毁的整个过程,该过程中会经历多个状态变化,每个状态变化都会触发相应的回调方法。理解 Activity 生命周期是 Android 开发的基础。 ...
一、Activity生命周期概述 Activity的生命周期由创建、启动、运行、暂停、停止和销毁这6个状态构成。每个状态的变化都会触发特定的方法回调,开发者可以重写这些方法以执行相应的操作。 1. 创建(Creation): - `...
总结来说,理解并熟练掌握Activity生命周期是Android开发的基础,开发者需要根据应用需求在不同的生命周期方法中编写适当的代码,确保Activity在各种场景下能正确地保存状态、释放资源和响应用户交互。通过阅读《三 ...
**Activity生命周期** Activity的生命周期由一系列回调方法组成,这些方法在Activity的不同状态之间被调用。主要的状态包括: 1. **创建(Created)**:当Activity首次被创建时,`onCreate()`方法被调用。这是初始...
总结起来,Activity生命周期管理是Android开发中的关键技能,通过合理使用`ActivityLifeCallbackManagers`和`ActivityLifeCallbackManager`这样的工具类,可以更高效、准确地控制和监控Activity的状态,从而提高应用...
### Activity生命周期详解 #### 概述 Android应用开发中,`Activity`是四大基础组件之一,主要用于构建用户界面。理解`Activity`的生命周期对于管理应用的状态、资源以及响应用户交互至关重要。 #### `Activity`...
### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...
总结,Activity生命周期的理解和合理利用是Android开发的基础,掌握它能帮助我们编写出更加健壮和用户体验良好的应用。通过这个"Activity生命周期demo",开发者可以实际操作,直观感受每个生命周期方法的调用时机,...
在这个"Activity生命周期demon"中,我们将深入探讨Activity在不同状态下的行为及其转换。 1. **Activity生命周期的阶段** - **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,...
1. **初始状态**:当Activity首次被创建时,会经历`onCreate()`方法,这是Activity生命周期的第一个回调,用于进行初始化工作,如设置布局、数据绑定等。 2. **启动状态**:`onStart()`方法紧接着`onCreate()`,...
### Android启动及Activity生命周期分析 在Android开发过程中,理解应用程序如何启动及Activity的生命周期是非常重要的。这不仅有助于我们更好地管理程序的状态,还能帮助我们在遇到内存泄漏等问题时进行快速定位和...
1. **创建(Created)**:当Activity首次被创建时,`onCreate()`方法被调用,这是Activity生命周期的第一个回调。在这里,通常会进行初始化工作,如设置布局、加载数据等。 2. **初始化(Initialized)**:`onStart...
### Android Activity 生命周期详解 #### 一、引言 在Android应用开发中,了解Activity的生命周期是至关重要的。Activity是Android四大组件之一,它代表了一个屏幕界面,并且是用户与应用程序交互的主要方式。本文...
### Android Activity 生命周期详解 #### 一、概述 在Android开发中,`Activity`是四大组件之一,用于构建用户界面,并负责与用户的交互。一个`Activity`通常对应着一个屏幕,当用户在一个应用的不同屏幕间导航时...