《第一行代码》学习笔记9-活动Activity(7)
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)的更多相关文章
- 第一行代码阅读笔记---AndroidMainfest.xml分析
按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...
- 《Android第一行代码》笔记
学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...
- 晒订单赢图灵图书,《第一行代码——Android》福利活动劲爆来袭!
版权声明:本文出自郭霖的博客,转载必须注明出处. https://blog.csdn.net/sinyu890807/article/details/28863515 (已结束) 我的著作<第一 ...
- (Android第一行代码实验一)活动的最佳实践
活动的最佳实践 1.知晓当前是在哪一个活动 这个技巧将教会你,如何根据程序当前的界面就能判断出这是哪一个活动. 首先需要新建一个 BaseActivity 继承自 Activi ...
- 第一行代码阅读笔记----显示隐式Intent的基本用法
1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明 ...
- 第一行代码阅读笔记---详解分析第一个Android程序
以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- 通过《第一行代码》学习 Android 开发
第一行代码 Android --第 2 版-- 郭霖 著 第 1 章:开始启程--你的第一行 Android 代码 •1.2 手把手带你搭建开发环境 Android Studio 的安装及配置 A ...
- 20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...
- 20172327 2018-2019-1 《第一行代码Android》第一章学习总结
学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...
随机推荐
- ruby.new
ruby.new 输出:print.puts.p 注释 #say hello =begin this is a long comment =end 变量 local: time or _time in ...
- Word 2010发布博客文章
只测试了cnblog 1.新建文件选择word 2010自带的博客文章模板 2.在管理账户中新建一个博客账户,也就是你自己在博客园的账户,博客选其他 3.然后选择下一步,博客的URL在自己的博客设置里 ...
- 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <InsertFunction> 元素。
今天我在使用ef的时候,发现了这样的报错. 无法更新 EntitySet“Ips_Articles”,因为它有一个 DefiningQuery,而 <ModificationFunctionMa ...
- HTML&CSS基础学习笔记1.7-高亮文本及组合使用
HTML提供了<mark>标签可以让你的文本高亮,这样看起来更加醒目.<mark>标签内的文本会呈现特殊的样式,它和<em>,<strong>一样也是一 ...
- PHP数组相加
+ 运算符把右边的数组元素(除去键值与左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖 ,array_merge()此时会覆盖掉前面相同键名的值 如: $a=array(' ...
- css 动画 transform transition animation
1.transform transform 是通过在浏览器里面让网页元素 移动 旋转 透明 模糊 等方法来实现改变其外观的技术 -webkit-transform : translate(3em,0 ...
- Lintcode--011(打劫房屋2)
在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子 ...
- 使用POI把Word Excel转为HTML
此方法是针对Office2003的,但是word中如果有图片,图片能够解析出来但是HTML文件中不显示.也不支持excel中的图片解析. 所需jar包如下如下: 1:PoiUtil.java pack ...
- document.body.scrollTop vs document.documentElement.scrollTop
window.addEventListener("scroll", function () { if (document.body.scrollTop >= window.i ...
- C51的模块化设计方法
一个大的单片机程序往往包含很多模块,我是这样组织的: 1.每一个C源文件都要建立一个与之名字一样的H文件(头文件),里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义啊等等不应该有. ...