`
yue_sweet
  • 浏览: 12238 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android四大组件之一Activity生命周期的理解

阅读更多
1.activity的生命周期?
答:android的activity的生命周期共有7个,分别为
public void oncreate();//创建
public void onstart();//开始
public void onrestart();//重新启动
public void onresume();//正在运行
public void onpause();//暂停
public void onstop();//停止
public void ondestory();//销毁

完整生命周期:即一个activity从出现到消失,对应的周期方法是从onCreate到onDestroy
可见生命周期:从onStart()到onStop()方法,在这个周期中,用户可以看见Activity,但不一定能够与之交互,这两个方法可以随着状态的变
化被执行多次。
前景生命周期:从onResume()到onPause()方法,在这个周期中,Activity处在其它Activity之前,即在Activity栈的最顶端,负责与用户进
行交互,伴随着状态的变化,这两个方法可以被执行多次。

///在一个生命周期中,oncreate只可以被创建一次,

///两个activity之间的跳转执行的方法:
一个activity为A,另一个activity为B,当在A里激活B组件的时候,A会执行onpause方法,然后B执行oncreate-》onstart-》onresume,这个
时候覆盖了窗体,A执行onstop方法,如果B是透明体,或者对话框的样式,A就不用调用onstop方法,
如果此时按返回按钮,执行的生命周期为:onpause(B)-》onrestart(A)-》onstart(A)-》onpause-》onstop(B)-》ondestory(B)

//activity的启动模式:standard(默认),singletop;singletask;singleinstance;

*横竖屏切换时候activity的生命周期 *********************************
1、新建一个Activity,并把各个生命周期打印出来
2、运行Activity,得到如下信息
onCreate-->
onStart-->
onResume—
3、按crtl+f12切换成横屏时
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
5、修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation",执行步骤3
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->

6、再执行步骤4,发现不会再打印相同信息,但多打印了一行onConfigChanged
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onConfigurationChanged-->

7把步骤5的android:configChanges="orientation" 改成 android:configChanges=" orientation |keyboardHidden",执行步骤3,就只打 印onConfigChanged
onConfigurationChanged-->
8、执行步骤4
onConfigurationChanged-->
onConfigurationChanged-->

总结:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged方法

总结一下整个Activity的生命周期

补充一点,当前Activity产生事件弹出Toast和AlertDialog的时候Activity的生命周期不会有改变

Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState --> onPause --> onStop       onRestart -->onStart---
>onResume

Activity未被完全覆盖只是失去焦点:onPause--->onResume
0
2
分享到:
评论

相关推荐

    Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器......

    Android四大组件——Activity——Activity的生命周期.doc

    Android四大组件——Activity——Activity的生命周期.doc

    Activity的生命周期(LifeCycle)

    Android四大组件之首的Activity的生命周期介绍

    Android四大组件——Activity(一)Activity之间通信及其生命周期变化

    Activity之间通信及其生命周期变化,及回传参数等基础知识点

    Android系统的四大组件详解

    Android四大基本组件介绍与生命周期Android四大基本组件分别是Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。  Android四大基本组件介绍与生命周期  Android四大基本组件分别是...

    Android编程四大组件之Activity用法实例分析

    本文实例讲述了Android编程四大组件之Activity用法。分享给大家供大家参考,具体如下: 这里详细介绍如何创建Activity、生命周期、内存管理、启动模式。 创建Activity 一.定义Activity 1. 定义Activity 定义类继承...

    Android四大基本组件(Ativity组件)

    详细掌握Android的四大基本组件中的Activity组件 具体内容包括:Activity生命周期、自定义Activity、Activity的配置.

    Android编程中的四大基本组件与生命周期详解

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示...

    Android四大组件知识点总结

    Intent是信使,负责完成Android四大组件之间的信息传递,同类、不同类的组件无法直接传递对象,一旦需要沟通只能通过Intent(不建议通过静态变量或静态方法传递数据,容易造成数据异常、内存泄露等问题)。...

    Android四大组件之Service

    Android四大组件之ServiceService的生命周期被启动(startService)的服务的生命周期:被绑定(bindService)的服务的生命周期:被启动又被绑定的服务的生命周期:实例布局创建Service类启动ServiceDemo下载 android开发...

    Android四大组件之Activity详解

    一、Activity的生命周期 首先,我们来了解一下Activity典型的生命周期 一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory()。包含了六...

    Android Activity生命周期和堆栈管理的详解

    Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件。 系统提供的组件,不需要用户实例化,用户也不能实例化,是系统进行回调,例如web开发的...

    Android Activity的生命周期详细介绍

     Activity是Android中四大组件之一,是最常见的应用组件,也是用的最多的组件,它能够提供一个界面与用户进行交互。Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法...

    四、Android程序生命周期-Android开发与实践

    了解Android系统的进程优先级的变化方式 了解Android系统的四大基本组件 ... 了解Activity的生命周期中各状态的变化关系 掌握Activity事件回调函数的作用和调用顺序 掌握Android应用程序的调试方法和工具

    Android学习资料

    Gravity,Bundle,ContentResolver,cursor,Fragments ,Fragments,inflater ,Fragment,数据查询query函数参数解析, 【Cursor】 类的介绍,android 获得通话记录,Handler ,Android四大基本组件介绍与生命周期,...

    【android编程】第七讲-android Activity

    【android编程】第七讲-android Activity 文章目录【android编程】第七讲...本讲主要介绍了Android四大组件之首的Activity。 主要知识点: Activity的概念: Activity就是一个有界面的AndroidApp。 Acitivity 的四种状态:

    Android四大组件之Service详解

    Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件。 Service是Android中实现程序后台运行的解决方案,它非常适用于去执行那些不需要和用户交互...

    Android Service类与生命周期详细介绍

    Service是Android四大组件与Activity最相似的组件,都代表可执行的程序,区别在于Service一直在后台运行且没有用户界面。 1.Service的类图和生命周期 先来看看Service的类图: 接下来看看Service的生命周期: ...

    深入解读Android开发中Activity的生命周期

     首先,Activity是Android系统中的四大组件之一,可以用于显示View。Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的,但是如果这样就能说Activity主要是用来显示View就不太正确了。 ...

Global site tag (gtag.js) - Google Analytics