1.发现Android中的活动是可以层叠的,每启动一个新的活动,就会覆盖在原活动之上,
然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。
2.Android是使用任务来管理活动的。一个任务就是一组存放在栈里的活动的集合,该栈
被称为返回栈(Back Stack)。栈是一种后进先出的的数据结构。
3.默认情况下,每启动一个新活动,会在返回栈中入栈,处于栈顶->每按下Back键或
调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈->前一个入栈的活动就会
重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。
4.活动状态:每个活动在其生命周期中最多有4种状态。
(1)运行状态:活动位于返回栈的栈顶
(2)暂停状态:活动不再处于栈顶,仍然可见。因为并不是每个活动都是占满整个屏幕
的,比如对话框形式的活动只会占用屏幕中间的部分区域。处于暂停状态的活动完全存活。
##只有在内存极低的情况下,系统才会考虑回收这种活动。
(3)停止状态:活动不再处于栈顶,且完全不可见。系统仍然会为这种活动保存相应的
状态和成员变量。并不完全可靠,其他地方需要内存时,处于停止状态的活动有可能会被
系统回收。
(4)销毁状态:从返回栈中移除就变成销毁状态。系统最倾向于回收这种状态的活动,
从而保证手机的内存充足。
5.活动的生存期:Activity类中定义了七个回调方法,覆盖了活动生命周期的每一个环节。
(1)onCreate():每个活动都重写这个方法,会在活动第一次被创建时被调用。在该方法
中完成活动的初始化操作,如加载布局,绑定事件等。
(2)onStart():在活动由不可见变为可见时调用。
(3)onResume():在活动准备好和用户进行交互的时候调用,此时活动处于运行状态。
(4)onPause():在系统准备去启动或者恢复另一个活动时调用。通常在这个方法中将一些
消耗CPU的资源释放掉,以及保存一些关键数据。但这个方法执行速度一定要快,不然会影
响到新的栈顶活动的使用。
(5)onStop():在活动完全不可见的时候调用。它和onPause()的主要区别在于,如果启动
的新活动是一个对话框式,则onPause()会执行,而onStop()并不会执行。
(6)onDestroy():在活动被销毁之前调用,之后活动状态将变为销毁状态。
(7)onRestart():在活动由停止状态变为运行状态之前调用,即活动重新启动了。

《第一行代码》学习笔记9-活动Activity(7)的更多相关文章

  1. 第一行代码阅读笔记---AndroidMainfest.xml分析

    按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...

  2. 《Android第一行代码》笔记

    学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...

  3. 晒订单赢图灵图书,《第一行代码——Android》福利活动劲爆来袭!

    版权声明:本文出自郭霖的博客,转载必须注明出处. https://blog.csdn.net/sinyu890807/article/details/28863515 (已结束) 我的著作<第一 ...

  4. (Android第一行代码实验一)活动的最佳实践

    活动的最佳实践    1.知晓当前是在哪一个活动         这个技巧将教会你,如何根据程序当前的界面就能判断出这是哪一个活动.  首先需要新建一个 BaseActivity 继承自 Activi ...

  5. 第一行代码阅读笔记----显示隐式Intent的基本用法

    1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明 ...

  6. 第一行代码阅读笔记---详解分析第一个Android程序

    以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...

  7. python学习笔记1--python简介和第一行代码编写

    一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...

  8. 通过《第一行代码》学习 Android 开发

    第一行代码 Android --第 2 版-- 郭霖 著 第 1 章:开始启程--你的第一行 Android 代码 •1.2 手把手带你搭建开发环境  Android Studio 的安装及配置  A ...

  9. 20172327 2018-2019-1 《第一行代码Android》第二章学习总结

    学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...

  10. 20172327 2018-2019-1 《第一行代码Android》第一章学习总结

    学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...

随机推荐

  1. SQL从入门到基础 - 05 数据分组、Having语句

    一.数据分组 1. 按照年龄进行分组统计各个年龄段的人数: Select FAge,count(*) from T_Employee group by FAge; 2. Group by子句必须放到w ...

  2. JAVA中,JSON MAP LIST的相互转换

    1 JSON包含对象和数组,对应于JAVA中的JSONObject,JSONArray 2 String 转JSON对象 JSONObject.fromObject("String" ...

  3. iPhone手机的屏幕尺寸、分辨率及适配

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  4. OpenGL ES 2.0 顶点着色器的妙用

    1.飘扬的旗帜(水面起伏) 基本原理 绘制一帧画面时由顶点着色器根据一定的规则变换各个顶点的位置,即可得到旗帜迎风飘扬的效果. 为了使旗帜的飘动过程比较平滑,采用基于正弦曲线的顶点位置变换规则.

  5. JQuery控制input的readonly和disabled属性

    jquery设置元素的readonly和disabled Jquery的api中提供了对元素应用disabled和readonly属性的方法,在这里记录下.如下: 1.readonly   $('in ...

  6. Flask学习记录之MarkDown编辑文本

    为了让网页支持markdown编辑文本,使用如下了4个库 PageDown : 在前端提供一个可以实时将markdown内容转换成html文本进行效果预览的编辑器 Flask-PageDown: 这个 ...

  7. iOS知识点全梳理-备用

    感谢大神分享 文/Jack_lin(简书作者)原文链接:http://www.jianshu.com/p/5d2163640e26著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序言 ...

  8. Nexus Root Toolkit教程——刷机

    Nexus Root Toolkit是Nexus系列设备专属解锁.root.刷机.修复工具.本教程以Nexus7二代刷安卓5.0 Lollipop系统为实例演示刷机过程. 标签: 安卓5.0刷机教程 ...

  9. Eclipse formater(google Java 编码规范)

    1. 谷歌Java编码规范 http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 2. 下载配置文件: https://co ...

  10. gitosis使用笔记

    gitosis是Git下的权限管理工具,通过一个特殊的仓库(gitosis-admin.git)对Git权限进行管理. 1:服务端安装并配置gitosis (1)通过以下方式获取到安装包 root@w ...