Activity(活动)生命周期(3)--活动的生存期
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)--活动的生存期的更多相关文章
- Android学习之基础知识四-Activity活动5讲(Activity的生命周期)
一.返回栈 1.Android是通过任务(Task)来管理活动,一个任务就是一个返回栈内所有活动的集合. 2.返回栈是一个后进先出的数据结构,每启动一个新的活动,该活动就会覆盖原来的活动,位于栈顶位置 ...
- Android活动生命周期
任务(Task) Android 是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack).在默认情况下,每当我们启动了一个新的活动,它 ...
- 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期
本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...
- Android学习总结(一)——Activity的基本概念与Activity的生命周期
一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...
- android学习四(Activity的生命周期)
要学好活动(Activity).就必需要了解android中Activity的声明周期.灵活的使用生命周期.能够开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的 ...
- 【Android】11.1 Activity的生命周期和管理
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为 ...
- Activity的基本概念与Activity的生命周期
一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...
- Android开发之Activity的生命周期以及加载模式
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...
- Android之Activity的生命周期
PS:写一发关于Activity的生命周期,也算是面试的重点内容. 学习内容: 1.Activity的生命周期 2.面对多种情况的时候Activity的生命周期 3.onSaveInstanceSta ...
随机推荐
- 如何用CMD开启3389与查看3389端口
开启 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections / ...
- webpack版本1与版本2的若干写法区别
2.x的环境遇到类似this._init is not a function的报错. 版本1.x的写法: resolve: { extensions: ['', '.js', '.vue'] }, m ...
- Laravel 调试器 Debugbar 和数据库导出利器 DbExporter 扩展安装及注意事项
一.Debugbar安装 参考:Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程 的“2.安装”部分 二.DbExporter安装 参考:Laravel 扩展推荐 ...
- 打印 pmic register value
打印 PMIC register value 方式有二種, 一種是使用 adb shell cat pmic register 一種是直接在 code 裡 call dump pmic registe ...
- 【LOJ6201】【bzoj4939】【YNOI2016】掉进兔子洞
一道比较简单的莫队…… 用bitset维护三个区间的交元素. #include<bits/stdc++.h> ; ; #define UI unsigned int #define rep ...
- C++ STL结构总结
1. 什么是STL 它的全名是stand template library, 标准模板库,主要是将一些结构和算法写成模板,以便能够实现对任意类型的对象都可以操作,而不需要再一次去写一些算法及结构. 它 ...
- tomcat8特性
作者:Eilen,转载需注明.博客主页:http://www.cnblogs.com/Eilen/ 一.Apache Tomcat 8介绍 Apache Tomcat 8RC1版于前几日发布.它 经过 ...
- FineReport——发送邮件
在FR中,个用户之间可以通过邮件的形式进行通信,但是存在一个问题就是FineReport平台只能设置一个发件人账户,收件人账户可以有多个. 所以在实际的系统开发中可能需要自己开发信息交互的模块. 在系 ...
- java中this的用法如:this.name=name
package com.chensi; /** * 这个是为了搞懂那个 this.name = name的. * @author ZHL * */ public class ThisTestZhl { ...
- POJ 1733 Parity game(带权并查集)
题目链接:http://poj.org/problem?id=1733 题目大意:给你m条信息,每条信息告诉你区间l~r的1的个数是奇数还是偶数,如果后面出现信息跟前面矛盾则这条信息是错误的,问在第一 ...