Android -- Activity的生命周期,Activity四种启动模式 Standard, SingleTop,SingleTask,SingleInstance
1. 示例图
、
这七个方法定义了Activity的完整生命周期。实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环:
2. 四种启动模式
http://www.2cto.com/kf/201309/246498.html
一:Standard的启动模式
Standard是默认的模式每开始一个activity,就会在栈中加一个activity,相同的也会加,所以加多少个,就要按多少次返回键才能回到最初的界面
二:singleTop的启动模式
1.清单配置:
<activity
android:name="com.itcode.taskstack.SecondActivity"
android:label="@string/_second"
android:launchMode="singleTop">
</activity>
Singletop:如果任务栈的栈顶已经存在这个activity的实例, 不会创建新的activity,而是利用旧的activity实例 调用 旧的activity的onNewIntent()方法
2.作用:
避免一个糟糕的用户体验,如果这个界面已经被打开且在任务栈的栈顶,就不会重复开启了
三:Singletask的启动模式:
1.Androidfest配置:
<activity
android:name="com.itcode.taskstack.SecondActivity"
android:label="@string/_second"
android:launchMode="singleTask">
</activity>
2.作用:
singletask的启动模式:在任务栈里面只允许一个实例存在,假如02是singletask,栈里是:01 02 01 03 若此时开启02,则会复用这个已经存在的activity,并且把当前activity上面其他的activity从任务栈里清空!
3.应用场景:
浏览器:底层使用的是webkit c 内核,初始化一次需要申请很多的内存资源,占用cpu时间所以使用singletask,保证在任务栈里只会有一个实例存在
四:singleInstance的启动模式(相当于单例):
1.Androidfest的配置:
<activity
android:name="com.itcode.taskstack.SecondActivity"
android:label="@string/_second"
android:launchMode="singleInstance">
</activity>
2.特点:
singleInstance的启动模式更加极端, 开启新的activity,会给自己创建一个单独的任务栈
3.应用场景:
在整个手机操作系统里面只会有一个该activity的实例存在, 所以多个应用程序共享这个activity的实例,有线程安全问题!
Android -- Activity的生命周期,Activity四种启动模式 Standard, SingleTop,SingleTask,SingleInstance的更多相关文章
- Android之Activity系列总结(三)--Activity的四种启动模式
一.返回栈简介 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈,也叫任务栈)中. 首先介绍一下任务栈: (1)程序打开时 ...
- Android四种启动模式
四种启动模式 standard(默认) singleTop singleTast singleInstance standard(默认) 系统默认的启动模式. Android是使用返回栈来管理活动的, ...
- 初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法
Toast toast 是安卓系统的一种非常棒的提醒方式 首先定义一个弹出Toast的触发点,比如可以是按钮之类 其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast. ...
- Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。
原文:Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式. Android Activity 的四种启动模 ...
- Android中Activity的四种启动模式
要了解Android的启动模式先要了解一下Activity的管理方式: 1.Activity的管理机制 Android的管理主要是通过Activity栈来进行的.当一个Activity启动时,系统根据 ...
- Android启动Activity的两种方式与四种启动模式
1.在一个Activity中调用startActivity()方法 2.在一个Activity中调用startActivityRequest()方法. 重写onActivityResult方法,用来接 ...
- 关于android的Activity的四种启动模式
最近做项目遇到一个问题,当触摸屏幕的时候通过intent启动activity,发现会启动多次,而后查阅资料,发现,原来是activity的模式设置问题. Activity的启动模式可以通过Androi ...
- Android 关于Activity的四种启动模式的简单介绍
Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...
- Android Activity 四种启动模式
task和back stack(任务和回退栈) 任务启动,task被加入到回退栈的栈顶,返回的时候回退栈的栈顶任务会被弹出,并被销毁,栈中的前一任务恢复运行,当activity销毁是,系统不会保留ac ...
随机推荐
- 配置linux DNS
DNS服务器地址配置 在Linux下面,有一个默认的DNS服务器地址配置文件的设置,存放在 /etc/resolv.conf 设置方法很简单,通过编辑 vi /etc/resolv.conf 设置首选 ...
- C# 文件夹的常用操作
C#获取文件夹下的所有文件的文件名 string path = @"E:\微课视频大于200M"; DirectoryInfo folder = new DirectoryInfo ...
- Yii 的session 实现返回上上页面
学习session的页面:http://www.yiichina.com/doc/guide/2.0/runtime-sessions-cookies 关键摘要: $session = Yii::$a ...
- Android N 通知概览及example
概述 Android App的通知在维护你的App和用户之间的交互起着举足轻重的作用,为了提供更好的用户体验,Android N上的通知提供了可视化刷新,自定义视图和直接回复等功能.另外还提出了Mes ...
- Oracle数据类型number
oracle数值类型只有number number(变长) 1.number可以存放整数,可以存放小数: 2.number(p,s) 说明: p表示有效位,s为小数位:范围p[1,38],s[-84, ...
- CodeForeces 25E (kmp)
E. Test time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputst ...
- 关于java web的笔记2018-01-12
需求:1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性.2.写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法.3.写一个购物车类,有添加商品方法.查看订单信息,删除商品,修改 ...
- hihoCoder_1449_后缀自动机三·重复旋律6
#1449 : 后缀自动机三·重复旋律6 时间限制:15000ms 单点时限:3000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为一段数构成的数 ...
- Spring 体系结构
https://www.w3cschool.cn/wkspring/dcu91icn.html 体系结构 Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你 ...
- 【Python学习 】Python实现的FTP上传和下载功能
一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...