Activity总共有7个回调方法,代表着不同的生命周期的环节。

1.onCreate()

  在活动第一次被创建的时候调用。在这个方法中需要完成活动的初始化操作,比如说加载布局、绑定事件等。

2.onStart()

  这个方法在活动由不可见变为可见的时候调用。

3.onResume()

  这个方法在活动准备好与用户进行交互的时候调用,此时的活动一定位于返回栈的栈顶,并且处于运行状态。

4.onPause()

  这个方法在系统准备去启动或恢复另外一个活动的时候调用。我们通常在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据。但这个方法的执行速度一定要快,不然会影响新的栈顶活动的使用。

5.onStop()

  这个方法在活动完全不可见的时候调用。它和onPause()方法的主要区别在于,如果启动的新活动是一个对话框式的活动(AlertDialog),那么onPause()方法会得到执行,而onStop()方法并不会执行。

6.onDestroy()

  这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。

7.onResume()

  这个方法在活动由停止状态转变为运行状态之前调用,也就是活动被重新启动了。

  进入到MainAcitivty的时候:

    由于是第一次进入,是新建的,所以会有onCreate()出现,之后进行到onResume()才会被用户看到。

  按回退键退出app的时候:

    按back键之后会销毁activity,所以会有onDestroy。

  跳转到DialogActivity的时候:

    由于跳转到的DialogActivity不回完全掩盖住原来的activity,仍然是可见的,所以是onPause(),表示的是可见,但失去焦点。

  跳转到NormalActivity的时候:

  由于跳转到的NormalActivity,掩盖住原来的activity,变为不可见,所以是onStop(),表示的是不可见。

  从NormalActivity跳转到MainActivity的时候:

  从一个activity跳到现在的activity,首先需要重新启动,然后一直变化到可见状态。

android入门 — Activity生命周期的更多相关文章

  1. Android开发——Activity生命周期

    Android开发--Activity生命周期 Activity作为四大组件之首,也是使用最频繁的一种组件.本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下 ...

  2. android开发------Activity生命周期

    这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...

  3. Android编程: Activity生命周期和LogCat使用

    学习内容:Activity生命周期和LogCat使用 ====Activity生命周期==== 图示(转载): 创建    onCreate重启    onRestart开始    onStart恢复 ...

  4. Android开发--Activity生命周期回顾理解

    Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...

  5. android 17 activity生命周期

    手机指南针传感器处于手机头部. Activity生命周期: 启动. onCreat()方法:初始化布局对象,设置监听器. onstart()方法:注册监听器. onResume():activity已 ...

  6. Android之Activity生命周期简介

    概述 有图有真相,所以先上图: 上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合 ...

  7. 浅谈Android之Activity生命周期

     Activity作为四大组件之一,出现的频率相当高,基本上我们在android的各个地方都能看见它的踪影,因此深入了解Activity,对于开发高质量应用程序是很有帮助的.今天我们就来详细地聊聊Ac ...

  8. 【Android】Activity 生命周期具体解释

    与其它编程模式不同,android中的Activity没有main()函数.我们无法决定Activity的创建和销毁过程,Activiy的创建和销毁(即生命周期)由系统完毕,系统会在Activity的 ...

  9. Android关于Activity生命周期详解

    子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...

随机推荐

  1. 用DBCC CHECK修复SQL2000的数据库一致性问题

    ) set @databasename='需要修复的数据库实体的名称' exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户 ...

  2. 关于Xshell无法连接本地虚拟机的问题

    近期想搭建一个测试用的集群,但是!  刚开始搭第一台虚拟机就出现问题了,Xshell无法连接到虚拟机! 然后我更改了/etc/sysconfig/network-scripts/ifcfg-ens33 ...

  3. HIve数据存储

    表 Table 内部表 Partition 分区表 External Table 外部表 Bucket Table 桶表 内部表 分区表 parttion对应于数据库中的Partition列的密集索引 ...

  4. iOS 基于APNS消息推送原理与实现(包括JAVA后台代码)

    Push的原理: Push 的工作机制可以简单的概括为下图   图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple ...

  5. 第一篇随笔, 正在做 ESP32 , STM32 , 树莓派 RaspberryPi 的创客工具

    先随便写写一些思路, 以后再整理. 这段时间笔者做了一些硬件开发, 领悟了一些事情. 1 - 在常规创客的角度上, 硬件开发所需的知识面比较广, 非常广, 但不算太深. 2 - 发现硬件开发由于其特殊 ...

  6. scala (1) for 循环

    scala if  else 判断 (1)在scala中末尾不需要添加 分号 作为语句的终结符.  val  name = "Leo" (2)  在 scala 中 if else ...

  7. ArrayList 一个面试题

    我们现在有一个集合,集合里面有100个随机数,获取其中的基数: //假设我们得到了100个随机数 List<Integer> lists = new RandomArrayList< ...

  8. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  9. 20155232 实验四 Android程序设计

    20155232 实验四 Android程序设计 一.实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握 ...

  10. STM32运行FreeRTOS出现prvTaskExitError错误死机

    文件port.c prvTaskExitError();任务退出错误,一个可能在任务里面写了return,另一个可能任务切换退出问题,入栈和出栈的时候出了问题. static void prvTask ...