Activity类中定义了7中回调方法,覆盖了活动生命周期的每一个环节。

回调方法:

1、onCreate()

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

2、onStart()

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

3、onResume()

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

4、onPause()

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

5、onStop()

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

6、onDestory()

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

7、onRestart()

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

3种生存期

1、完整生存期。

活动在onCreate()方法和onDestory()方法之间所经历的,就是完整生存期。一般情况下,一个活动会在onCreate()方法中完成各种活动的初始化操作,而在onDestory()方法中完成释放掉内存的操作

2、可见生存期。

活动在onStart()方法和onStop()方法中之间所经历的就是可见生存期。在可见生存期内,活动对于用户总是可见的,即便有可能与用户无法交互。我们可以通过这两种方法,合理的管理哪些对用户可见的资源。比如:onStart()方法中对资源进行加载,而在onStop()方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多内存

3、前台生存期。

活动在onResume()方法和onPause()方法之间所经历的就是前台生存期。在前台生存期内,活动总是处于运行状态,此时的活动是可以与用户进行交互的,我们平时看到的和接触最多就是这个状态的活动。

Activity(活动)生命周期(3)--活动的生存期的更多相关文章

  1. Android学习之基础知识四-Activity活动5讲(Activity的生命周期)

    一.返回栈 1.Android是通过任务(Task)来管理活动,一个任务就是一个返回栈内所有活动的集合. 2.返回栈是一个后进先出的数据结构,每启动一个新的活动,该活动就会覆盖原来的活动,位于栈顶位置 ...

  2. Android活动生命周期

    任务(Task) Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack).在默认情况下,每当我们启动了一个新的活动,它 ...

  3. 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期

    本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...

  4. Android学习总结(一)——Activity的基本概念与Activity的生命周期

    一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...

  5. android学习四(Activity的生命周期)

    要学好活动(Activity).就必需要了解android中Activity的声明周期.灵活的使用生命周期.能够开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的 ...

  6. 【Android】11.1 Activity的生命周期和管理

    分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为 ...

  7. Activity的基本概念与Activity的生命周期

    一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...

  8. Android开发之Activity的生命周期以及加载模式

    本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...

  9. Android之Activity的生命周期

    PS:写一发关于Activity的生命周期,也算是面试的重点内容. 学习内容: 1.Activity的生命周期 2.面对多种情况的时候Activity的生命周期 3.onSaveInstanceSta ...

随机推荐

  1. 9.0docker的数据管理

    dopcker容器的数据卷          为容器添加数据卷 sudo docker run -v  ~/container data:/data  -it ubuntu /bin/bash   查 ...

  2. php快速入门总结

    因为本人已经接触了C和C++两年多了,虽然真正用它们的机会很少,但是基本的语法还是相对熟悉的.半年前的课程设计用了PHP,所以当初我也只是现学先用, 学得很粗糙,现在,跟一个同学合作搞一个比赛的项目, ...

  3. python基础===基于requests模块上的协程【trip】

    今天看博客get了一个有趣的模块,叫做 trip     #(pip install  trip) 兼容2.7版本 基于两大依赖包:TRIP: Tornado & Requests In Pa ...

  4. notifier chain — 内核通知链【转】

    转自:http://blog.csdn.net/g_salamander/article/details/8081724 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣 ...

  5. hadoop中setOutputKeyClass和setOutputValueClass里类型

    初学mapreduce programing,纠结一天的问题如下: job.setOutputKeyClass和job.setOutputValueClas在默认情况下是同时设置map阶段和reduc ...

  6. MariaDB 层常用业务

    前言  -  简单准备一下前戏 前面写过几篇mariadb 数据的随笔, 多数偏C/C++层面. 这次分享一下平时开发中, 处理的一些数据层面的业务. 对于MariaDB, 不做过多介绍. 如果你有U ...

  7. 单文件组件(single-file components)

    介绍 我们可以使用预处理器来构建简洁和功能更丰富的组件,比如 Pug,Babel (with ES2015 modules),和 Stylus.

  8. JPA注解一对多报Could not determine type for: java.util.List错误

    在原来的项目上加新功能,启动后报Caused by: org.hibernate.MappingException: Could not determine type for: java.util.L ...

  9. c语言中数组,指针数组,数组指针,二维数组指针

    1.数组和指针 ] = {,,,,};// 定义数组 // 1. 指针和数组的关系 int * pa = array; pa = array; // p[0] == *(p+0) == array[0 ...

  10. Python图像处理库(2)

    1.4 SciPy SciPy(http://scipy.org/) 是建立在 NumPy 基础上,用于数值运算的开源工具包.SciPy 提供很多高效的操作,可以实现数值积分.优化.统计.信号处理,以 ...