《第一行代码》学习笔记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内核的,这 ...
随机推荐
- 小技巧之jQueryMobile
使用JqueryMobile+MVC做一个手机网站,也有2个月了.有一些小小的经验,跟大伙们分享一下下 小技巧1: 禁用所有Ajax加载,它会很烦人的. $.mobile.ajaxLinksEnabl ...
- linux 各种发行版及包管理器的关系
linux 各种发行版及包管理器的关系 Linux发行版列表 基于Kpkg(Debian 系) Debian GNU / Linux 及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...
- ionic开发android app步骤
一.android开发 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装 ...
- string的一些操作,类似数组
1.串的切割 var a="hello world";//a.length=11 alert(a.slice(3)); alert(a.substring(3)); alert(a ...
- poj3685 二分套二分
F - 二分二分 Crawling in process... Crawling failed Time Limit:6000MS Memory Limit:65536KB 64bit ...
- Http服务器性能测试工具ab..
-A auth-username:password 对服务器提供BASIC认证信任.用户名和密码由一个:隔开,并以base64编码形式发送,无论服务器是否需要(即,是否发送了401认证需求代码),此字 ...
- 小巧实用的数字加减插件(jquery插件)
2015-12-04 近期项目需要,我将插件更新了,增加了两个参数,一个参数控制文本框是否支持输入,另一个参数则是新增了一个回调函数,返回文本框内的值.另外对代码局部重构了,优化了一下封装,需要的朋友 ...
- Android高清巨图加载方案
1.今天看了鸿洋的<Android高清巨图加载方案>一文,对加载高清巨图时的解决方案有了一定的认识. 思路为: 提供一个设置图片的入口. 重写onTouchEvent,在里面根据用户移动的 ...
- F#(1)
如果你也会C#,那不妨了解下F#(1):F# 数据类型 简单介绍 F#(与C#一样,念作“F Sharp”)是一种基于.Net框架的强类型.静态类型的函数式编程语言.可以说C#是一门包含函数式编程 ...
- 【Android纳米学位】project 0 - 问题汇总
1.页面布局 参考:http://www.xuebuyuan.com/1100763.html 从不知道如何下手到开始布局出想要的样子,使用线性布局及属性 margin,padding 2.添加点击事 ...