一、           活动的生命周期

1.        活动状态

运行:位于返回栈栈顶

暂停:不在栈顶,但仍可见

停止:不在栈顶,完全不可见

销毁:从栈中移除

2.        活动的生存期

1)         7种回调方法与3种生存期

onCreate()~onDestory()           完整生存期

onStart()~onStop()                     可见生存期

onResume()~onPause()            前台生存期

onRestart()

2)         指定活动主题

android:theme属性,对话框式主题的活动(android:theme=”@style/Theme.Appcompat.Dialog”)不会完全遮挡之前的活动。

3)         活动回收后保存数据

onSaveInstance()

3.        活动的启动模式

  android:launchMode="..."

1)         standard

每次启动新活动都会入栈

2)         singleTop

启动活动发现已在栈顶,就直接使用,不再创建新的活动实例

3)         singleTask

检查是否存在,存在就将这个活动以上活动全出栈

4)         singleInstance

启用一个新栈管理活动,实现多程序共享这个活动的实例

4.        最佳实践

1)         使用getClass.getSimpleName()打印当前活动

2)         使用专门的集合管理所有活动,实现随时随地退出

3)         为每个活动添加启动方法

Android学习_7/24的更多相关文章

  1. Android学习_7/26

    四种基本布局 1. 线性布局(LinearLayout) android:layout_gravity:指定控件在布局中的对齐方式 android:gravity:指定文字在控件中的对齐方式 andr ...

  2. android学习笔记24——事件处理

    事件处理 android提供了两种事件处理机制: 1.基于回调的事件处理 2.基于监听器的事件处理(通过绑定特定事件监听器) 注意: android对于基于回调的事件处理而言,主要做法就是重写andr ...

  3. Android学习笔记(24):进度条组件ProgressBar及其子类

    ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...

  4. Android学习_7/27

    一.           自定义控件 1.         引入布局 多个活动需要相同的布局时,使用引入布局的方式来实现代码复用. activity_main.xlm中加入<include la ...

  5. Android学习_7/25

     常用控件 Android控件使用规律:先定义id,再指定宽度和高度,然后适当加入一些控件特有的属性 1.         TextView 在界面上显示一段文本 2.         Button ...

  6. Android学习_7/23

    1.        在活动中使用Menu 1)        什么是Menu? 2)        怎么实现? step1:res目录下创建Menu resource file,使用<item… ...

  7. Android学习_7/22

    一.Android项目目录结构 1.         AndroidManifest.xml:整个Android项目的配置,注册各组件 <activity android:name=" ...

  8. 我的android学习经历24

    Fragment生命周期 1.onAttach() 2.onCreate() 3.onCreateView() 4.onActivityCreated() 5.onStart() 6.onResume ...

  9. Android学习探索之Java 8 在Android 开发中的应用

    前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...

随机推荐

  1. BM求线性递推模板(杜教版)

    BM求线性递推模板(杜教版) BM求线性递推是最近了解到的一个黑科技 如果一个数列.其能够通过线性递推而来 例如使用矩阵快速幂优化的 DP 大概都可以丢进去 则使用 BM 即可得到任意 N 项的数列元 ...

  2. Java小程序—录屏小程序(下半场)

    下半场. 上半场,我们我们写了录屏的程序,那么下半场我们的任务是写一个播放器. 设计思路:播放器的思路就是将图片放在一个JScrollPane中顺序播放,所以还是得使用swing组件,并且仍然要使用线 ...

  3. RBAC(基于角色的访问控制)用户权限管理数据库设计

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  4. |、&、||、&&、^符号含义

    |和&为计算机中二进制之间的位运算 在计算机中二进制的0表示false,1表示true. |为位运算中的或运算:它的运算逻辑为一真则真,全假则假 &为位运算中的并运算:它的运算逻辑为一 ...

  5. golang日志框架--logrus学习笔记

    golang日志框架--logrus学习笔记 golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数,对于更精细的日志级别.日志文件分割以及日志分发等方面并没有提供 ...

  6. springboot(十七)-使用Docker部署springboot项目

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

  7. bootstrap之响应式布局

    1.手动配置viewport 在HTML中: <meta name="viewport" content="width=device-width,initial-s ...

  8. 欧拉系统-登陆 SSH 出现 Access Denied 错误

    1./home 权限问题如果 /home 只支持 root 访问,那么不妨试一下 /tmp ,然后用 mv 命令再转移 2./etc/ssh/sshd_config 配置问题     vi  /etc ...

  9. 1.(基础)tornado初识

    tornado的话就不带着大家看源码了,今后可能会介绍,目前只是看简单的用法,而且当前的tornado版本不高,其实说白了这是很久以前写的文档,但是由于格式的原因,所以打算用Markdown重写一次. ...

  10. PHP+redis消息队列抢购实现

    实现功能: 1. 基于redis队列,防止高并发的超卖 2. 基于mysql的事务加排它锁,防止高并发的超卖 基于redis队列工作流程: 1. 管理员根据goods表中的库存,创建redis商品库存 ...