# Android中Activity四种启动模式和taskAffinity属性详解 #(6原创)
博客专区 > Blumamy 的博客 > 博客详情
# Android中Activity四种启动模式和taskAffinity属性详解 #(6原创)
Blumamy 发表于3年前
# Android中Activity四种启动模式和taskAffinity属性详解 #(6原创)
  • 发表于 3年前
  • 阅读 22
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

# 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


共有 人打赏支持
粉丝 3
博文 11
码字总数 13692
×
Blumamy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: