android入门 — Activity生命周期

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生命周期的更多相关文章
- Android开发——Activity生命周期
Android开发--Activity生命周期 Activity作为四大组件之首,也是使用最频繁的一种组件.本文将主要讲解Activity生命周期,包括正常情况下的Activity生命周期和异常情况下 ...
- android开发------Activity生命周期
这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...
- Android编程: Activity生命周期和LogCat使用
学习内容:Activity生命周期和LogCat使用 ====Activity生命周期==== 图示(转载): 创建 onCreate重启 onRestart开始 onStart恢复 ...
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- android 17 activity生命周期
手机指南针传感器处于手机头部. Activity生命周期: 启动. onCreat()方法:初始化布局对象,设置监听器. onstart()方法:注册监听器. onResume():activity已 ...
- Android之Activity生命周期简介
概述 有图有真相,所以先上图: 上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合 ...
- 浅谈Android之Activity生命周期
Activity作为四大组件之一,出现的频率相当高,基本上我们在android的各个地方都能看见它的踪影,因此深入了解Activity,对于开发高质量应用程序是很有帮助的.今天我们就来详细地聊聊Ac ...
- 【Android】Activity 生命周期具体解释
与其它编程模式不同,android中的Activity没有main()函数.我们无法决定Activity的创建和销毁过程,Activiy的创建和销毁(即生命周期)由系统完毕,系统会在Activity的 ...
- Android关于Activity生命周期详解
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...
随机推荐
- Java实例 Part6:Java中的克隆
目录 Part6:Java中的克隆 Example01:Java对象的假克隆 Example02:Java对象的浅克隆 Example03:Java对象的深克隆 Example04:序列化与对象克隆 ...
- helpera64开发板下制作ubuntu rootfs镜像(二)
上一篇路径:https://www.cnblogs.com/jizizh/p/10380513.html Helpera64开发板ubuntu剩于工作: 1.背光调节 答:/sys/class/bac ...
- 2.4 自己编写一个vivi驱动程序
学习目标:从零编写一个vivi驱动程序,并测试: 一. vivi驱动应用程序调用过程 上节对xawtv对vivi程序调用欧城进行了详细分析,可总结为以下流程: 二.仿照vivi.c编写myvivi.c ...
- python paramiko模块和多线程讲解
1.paramiko 实现ssh 登录 import paramiko # 实现ssh登录 ssh_client = paramiko.SSHClient() ssh_client.set_missi ...
- C服务程序模板
在DoWork中添加自己的代码. 服务安装: sc create srvdemo binpath= "F:\srvdemo.exe" 服务启动:sc start srvdemo ...
- 算法训练 K好数(C/C++)AC码
蓝桥杯 算法训练 K好数 AC码 题目要求: 算法训练 K好数 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如 ...
- A1070
给出总价和需求量,求最大收益. 思路:求单价最高的,排序. #include<cstdio> #include<algorithm> using namespace std; ...
- A.Activity planning
题目描述There is a collection of n activities E={1,2,..,n}, each of which requires the same resource, su ...
- 大二作业——操作系统实验——C语言用双向链表,模拟实现动态分区式存储管理
实验:动态分区式存储管理 实验内容: 编写程序模拟完成动态分区存储管理方式的内存分配和回收.实验具体包括:首先确定内存空闲分配表:然后采用最佳适应算法完成内存空间的分配和回收:最后编写主函数对所做工作 ...
- C语言中赋值表达式的返回值是什么?
我们或多或少都有过,或者见过将赋值表达式参与运算的情况.这通常会伴随着一些意想不到的问题.今天我就见到了一段奇怪的代码: #include<stdio.h> int main() { ; ...