文档章节

# Android中Activity四种启动模式和taskAffinity属性详解 #(6原创)

Blumamy
 Blumamy
发布于 2015/03/02 14:23
字数 315
阅读 25
收藏 0
点赞 0
评论 0

# AndroidActivity四种启动模式和taskAffinity属性详解 #(6)

----------影子侠开发者社区Rong

下面验证它的全局唯一性,执行以下操作:安装另一个应用AndroidTaskTest1,在开启的MainActivity中点击按钮开启AndroidTaskTest应用中的SecondActivity。看到打印出一条新的日志:

![](http://img.blog.csdn.net/20130906212039828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdqZ19ibG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

 

执行adb shell dumpsys activity命令,有以下输出:

 

    TaskRecord{411189e0 #9 A com.jg.zhang.androidtasktest}

                   Run #3: ActivityRecord{4129af80 com.jg.zhang.androidtasktest/.SecondActivity}

         TaskRecord{412dc788 #12 A com.jg.zhang.androidtasktest1}

                   Run #2: ActivityRecord{4121c628 com.jg.zhang.androidtasktest1/.MainActivity}

         TaskRecord{41305528 #8 A com.jg.zhang.androidtasktest}

                   Run #1: ActivityRecord{41296e60 com.jg.zhang.androidtasktest/.MainActivity}

 

由第一个TaskRecord可以得知,开启的SecondActivity就是上次创建的编号为4129af80SecondActivity,并且Log中没有再次输出关于SecondActivity的信息,说明SecondActivity并没有重新创建。由此可以得出结论:以singleInstance模式启动的Activity在整个系统中是单例的,如果在启动这样的Activiyt时,已经存在了一个实例,那么会把它所在的任务调度到前台,重用这个实例。

### 下面开始验证第二个特点:

此文章系本人原创,如需转载,请注明出处影子侠开发者社区www.yingzixia.com


© 著作权归作者所有

共有 人打赏支持
Blumamy
粉丝 2
博文 11
码字总数 13692
作品 0
海淀
Android xml application属性详解

例子: <application android:allowClearUserData=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:backupAgent="string" android:debuggable=["true" | "fals......

恰同学少年
2015/07/28
0
0
再说Activity的四种启动模式

Android启动模式分为四种,分别为:standard、singleTop、singleTask、singleInstance stander 标准启动模式: 这是Activity默认的启动模式,也是逻辑最简单的一种,只要Activity使用这种模式...

TedYin
2014/02/23
0
0
android当中taskAffinity属性与launchMode相关

一、本文尝试解释以下问题 1. Activity被启动之后放在哪个任务栈当中?与哪些因素有关? 2. Activity的四种启动模式对Activity的启动有哪些影响? 3. 在Activity中使用startActivityForResul...

wapcdwiki
2014/07/11
0
0
你真的了解Activity的启动模式?

引言 当面试官说请你介绍一下activity启动模式,大多数人都能整两句,什么栈顶复用啊栈内复用啊,不过,你确定你真的懂启动模式吗? 如果你能回答出下面的问题,那么你可以直接退出当前界面。...

吴七禁
07/05
0
0
AndroidManifest.xml配置文件选项详解

AndroidManifest.xml下的一些属性定义和用法: ---------------------------------------------------------------------------------------------------------------------------------- a......

xiahuawuyu
2012/05/22
0
0
Activity跳转Flag详解

Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干系的,而在用户看来,两个场景紧密联系,视觉上二者构成了一个整体。Android...

今日竹石
2014/04/29
0
0
Activity启动模式&Task栈

在AMS中,ActivityRecord对应一个Activity,TaskRecord对应一个Task,每个TaskRecord中保存了若干ActivityRecord,TaskRecord由taskId标识,通过getTaskId()可以获取Activity所属的Task。Act...

JasmineBen
05/30
0
0
[Android] Activity的Launch mode详解

Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别: standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存...

枫兮兮
2014/02/27
0
0
Android解析ActivityManagerService(二)ActivityTask和Activity栈管理

相关文章 Android系统启动流程系列 Android应用进程系列 Android深入四大组件系列 Android深入解析AMS系列 前言 关于AMS,原计划是只写一篇文章来介绍,但是AMS功能繁多,一篇文章的篇幅远远...

刘望舒
2017/09/03
0
0
Android xml activity属性详解

例子: <activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:configChan......

恰同学少年
2015/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部