Activity生命周期
首先我们来看一张图,我对上面的一些方法在图片上写了一些自己的理解
除了图上的方法外还有两个重要的方法
onSaveInstanceState()和onRestoreInstanceState()
onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”将要销毁你的activity时,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据。
onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下activity A一般不会因为内存的原因被系统销毁,故activity A的onRestoreInstanceState方法不会被执行
另外,onRestoreInstanceState的bundle参数也会传递到onCreate方法中,我们也可以选择在onCreate方法中做数据还原。
现在让我们分别在几种不同的情况下来测试Activity生命周期中各方法是怎么调用的,一个测试Activity生命周期的应用程序界面:
1、
1)运行Activity :
onCreate()-->onStart()-->onResume()
2)点击返回键:
onPause()-->onStop()-->onDestroy()
2、
1)运行Activity
onCreate()-->onStart()-->onResume()
2)点击Home(小房子形状)
onSaveInstanceState()-->onPause()-->onStop()
3)长按Home重新返回到Activity中:
onRestart()-->onStart()-->onResume();
4)点击返回键:
onPause()-->onStop()-->onDestroy();
3、
1) 运行Activity
onCreate()-->onStart()-->onResume();
2)切换到另外一个Activity(SecondActivity)时,原Activity:
onSaveInstanceState()-->onPause()-->onStop()
①:按 返回键返回到第一个Activity时,第一个Activity:
onRestart()-->onStart()-->onResume();
②:在第二个Activity中通过Button控件跳转回第一个Activity时:
onCreate()-->onStart()-->onResume();
4、
创建对话框样式的DialogActivity时Activity生命周期的状态:
1)运行Activity:
onCreate()-->onStart()-->onResume();
2)点击Show My Dialog按钮切换至DialogActivity,第一个Activity状态:
onSaveInstanceState()-->onPause();
我们可以看到DialogActivity是半透明的,第一个Activity是可见的。
3)按返回键返回第一个Activity:
onResume();
5、
创建AlterDialog退出提示对话框
当县级Show a real Dialog对话框并返回,此时不能触发Activity实例的状态变化,也不会调用其生命周期中任何函数:
但点击确定退出程序时:
onPause()-->onStop()-->onDestroy();
这就是在这几种情况下Activity的生命周期。
分享到:
相关推荐
android组件Activity 的生命周期
Android组件的生命周期 Activiy生命周期介绍
Android说明Activity生命周期的代码例子。用于演示Activity组件从创建到销毁的完整生命周期,以及Activity在不同栈方式下的置换算法。
Android四大组件之首的Activity的生命周期介绍
对于应用开发者来说,理解不同的应用组件(特别是Activity、Service、Intent Receiver)对应用进程的生命周期的影响,这是非常重要的。如果没有正确地使用这些组件,将会导致当应用正在处理重要的工作时,进程却被...
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器......
Android四大组件——Activity——Activity的生命周期.doc
android_ctivity生命周期,应用程序组件的简介以及生命周期,会对Andriod的开发最基本的有些深刻的认识
1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task...
1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和...
Treasure,MVP 改型2 RXJava2 Rxandroid Okhttp3 生命周期(Android架构组件),谷歌模式.zip
Activity之间通信及其生命周期变化,及回传参数等基础知识点
Activity是Android程序的4大组件之一。 Activity是Android程序的表示层。程序的每一个显示屏幕就是一个Activity。 学过WEB开发的同学,可以把Activity理解成网页中的一个JSP文件;或者你可以把它理解成一个Windows...
Android说明Service生命周期的代码例子。用于演示Service组件从创建到销毁的完整生命周期,以及IntentService的使用例子。
使用Android Studio作为开发平台,用Log.i跟踪Activity组件的生命周期过程。
Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件。 系统提供的组件,不需要用户实例化,用户也不能实例化,是系统进行回调,例如web开发的...
Activity是Android中四大组件之一,是最常见的应用组件,也是用的最多的组件,它能够提供一个界面与用户进行交互。Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法...
本文实例讲述了Android编程四大组件之Activity用法。分享给大家供大家参考,具体如下: 这里详细介绍如何创建Activity、生命周期、内存管理、启动模式。 创建Activity 一.定义Activity 1. 定义Activity 定义类继承...
Android 开发 (实验四) 实验题目:Activity生命周期验证试验 指导老师: 班 级:计算机科学与技术系班 姓 名:( 1. 实验目的 1、深入理解Activity运行机制和原理。 2、掌握Activity的声明周期各个阶段工作流程。 ...
本文实例讲述了Android编程中的四大基本组件与生命周期。分享给大家供大家参考,具体如下: Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。 一:了解...