activity启动模式(1)

原创 2017年01月03日 01:32:08

activity启动启动模式:
网上大牛写的我自己再一遍,方便自己记忆。
原文地址:http://blog.csdn.net/liuhe688/article/details/6754323

一。Activity 有四种启动模式:
1.standard
2.singleTop
3.singleTask
4.singleInstance


二。什么是task?task是一个具有栈结构的对象,一个task可以管理多个activity。启动一个应用,也就创建一个与之对应的task。


1.standard 启动模式是系统默认启动模式
看图
这里写图片描述
每次启动都会在task中生成新的activity实例,并且放到task顶部,回退时,task中退出一级。
简单点理解:**standard启动模式Activity栈从栈底到栈顶顺序为A1 -> B -> C -> A2…。(其中A、B、C等都表示不同的Activity实例,A1、A2则表示属于具有同一Activity类的不同实例)


2.singleTop(栈顶唯一)启动的时候系统判断栈顶是否有该实例,有则继续使用,没有启动新的。
如图:这里写图片描述 图中sectond启动first时候发现栈顶没有first则启动新的activity 于是有了图的机构。

简单理解:如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例。

简单点理解,singleTop即表示当前Activity栈中“栈顶唯一”,Activity跳转顺序或standard模式下栈结构如果为:A -> B -> C -> D1 -> D2,则singleTop启动模式为:A -> B -> C -> D1(此时回调D1的onNewIntent()..)。

特别注意:如果要启动的activity存在并且在栈顶,则会调用该activity的onNewInten()方法。


3.singleTask。启动activity时候系统首先检查栈中有无所要启动的activity。有但是不再栈顶,则把它之上所有的activity统统出栈,这样它也便在栈顶了处于显示状态。若果有并且在栈顶那更好,栈结构没有任何变化。如果没有则实例化新的。
如图:
这里写图片描述

简单理解:**如果发现所在Activity栈中有对应的Activity实例,则使此Activity实例之上的其他Activity实例统统出栈,使此Activity实例成为栈顶对象,显示到幕前。
简单点理解,singleTask表示当前Activity栈中“实例唯一”,Activity跳转顺序或standard模式下栈结构如果为:A -> B1 -> C -> D -> B2,则singleTask启动模式为:A -> B1(此时回调onNewIntent()..)**
注意:也是再次调用onNewIntent()方法。


4singleInstance 这种模式它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。
图:这里写图片描述
简单理解:singleInstance所标识的Activity,当被启动时,系统会首先判断系统其他栈中是否已经存在此Activity实例,有则直接使用,并且其所在的Activity栈理论上只有它一个Activity元素。所以启动它的Activity与它并不在一个task中,所以才需要特别注意Back的问题。一般表示为:task1 A -> task2 B。

详细请看作者原文:http://blog.csdn.net/liuhe688/article/details/6754323

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

工作总结------(1) Activity启动模式 singleTask的妙用

activity的启动模式,相信大家都很是了解的,毕竟,在学习android不久都会去了解到,一些面试题上。activity的启动模式几乎都是必问题目。但是,我们一般都只能笼统的按照正规的答案去回答。...

《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式

前言 activity作为一个新\老android开发人员是熟悉不过了,不过细节决定成败,笔者把自己在实际开发中的遇到的问题总结下.鉴于之前已经记录了一片activity的日志,这边就只简单做知识点的...

Android学习之路(一)-Activity的生命周期和启动模式-1

Android学习之路(一)-Activity的生命周期和启动模式-1
  • SSBBY
  • SSBBY
  • 2017年03月14日 19:09
  • 396

Activity启动模式

  • 2016年08月26日 14:56
  • 12.62MB
  • 下载

Activity生命周期与启动模式

  • 2017年08月08日 14:11
  • 26.15MB
  • 下载

Activity四种启动模式

Activity启动方式有四种,分别是: standard singleTop singleTask singleInstance 可以根据实际的需求为Activity设置对应的启动...
  • shinay
  • shinay
  • 2012年08月23日 16:42
  • 168494

activity启动模式测试

  • 2016年05月12日 21:10
  • 6.79MB
  • 下载

Activity四种启动模式

  • 2016年07月21日 09:41
  • 30.55MB
  • 下载

Android Activity四种启动模式

最近有几位朋友给我留言,让我谈一下对Activity启动模式的理解。我觉得对某个知识点的理解必须要动手操作才能印象深刻,所以今天写一篇博文,结合案例理解Activity启动模式。由于之前看过“区长”的...

android的Activity启动模式

  • 2016年03月16日 17:59
  • 516KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:activity启动模式(1)
举报原因:
原因补充:

(最多只允许输入30个字)