android activity singletask,Android Activity启动模式之singleTask实例详解

android activity singletask,Android Activity启动模式之singleTask实例详解本文实例分析了AndroidActivity启动模式之singleTask。分享给大家供大家参考,具体如下:前面的文章介绍了Android活动Activity的启动模式:standard和singleTop。本文继续介绍Activity的下一个启动模式:singleTask。singleTask:当设置活动的启动模式为singleTask时,首先检查返回栈中是否存在当前活动,如果存在当前活…

大家好,又见面了,我是你们的朋友全栈君。

本文实例分析了Android Activity启动模式之singleTask。分享给大家供大家参考,具体如下:

前面的文章介绍了Android 活动Activity的启动模式:standard 和singleTop 。本文继续介绍Activity的下一个启动模式:singleTask。

singleTask:当设置活动的启动模式为singleTask时,首先检查返回栈中是否存在当前活动,如果存在当前活动的实例,则直接使用当前实例,并把当前活动之上的所有活动pop出栈,即当前活动位于栈顶位置。

代码实例如下:

(1)修改AndroidManifest.xml

修改活动MainActivity的启动模式为singleTask,如下:

android:name=”.MainActivity”

android:launchMode=”singleTask”

android:label=”@string/app_name” >

(2)修改MainActivity.java

为了测试效果,重写onRestart方法:

@Override

protected void onRestart() {

super.onRestart();

Log.d(“MainActivity”, “onRestart”);

}

(3)修改MyActivity1.java

为了测试效果,重写onDestroy方法:

@Override

protected void onDestroy() {

super.onDestroy();

Log.d(“MyActivity1”, “onDestroy”);

}

(3)重新发布,查看日志

发布程序,进入MainActivity活动,点击按钮进入MyActivity1活动,点击按钮回到主活动MainActivity,日志显示如下:

aee331c1b5bd6e07128cc7f38645f305.png

从图中可以看出,当在MyActivity1中点击按钮时,返回栈中此时存在一个主活动MainActivity的实例,并且在MyActivity1的下面,当点击时,MyActivity1出栈,实例销毁,调用onDestroy方法,而主活动则调用onRestart方法。

如果再次在主活动中点击按钮进入MyActivity1活动,此时会创建MyActivity1实例,再次返回,见日志如下:

384f0b51bf941151689705213131c1db.png

这正是Activity启动模式singleTask的特性。

更多关于Android Activity相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》

希望本文所述对大家Android程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153254.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端学到什么程度可以找到工作(应届毕业生有什么优势)

    目录1.前端开发下载安装VScode优化配置2、插件安装3、设置字体大小4、开启完整的Emmet语法支持5、视图2.Node.js入门2.1、什么是Node.js2.2、Node.js有什么用2.3、安装下载:2.4、快速入门2.5、服务器端应用开发3、ES6入门3.2、let声明变量3.3、const声明常量3.4、解构赋值创建3.5、模板字符串创建3.6、声明对象简写创建3.7、定义方法简写3.8、对象拓展

    2022年4月16日
    48
  • Django(31)模板中常用的过滤器

    Django(31)模板中常用的过滤器模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。add将传进来的参

    2022年8月7日
    5
  • C#中string.format用法详解「建议收藏」

    C#中string.format用法详解「建议收藏」string.Format对C#字符串格式化String.Format方法的几种定义:String.Format(String,Object)将指定的String中的格式项替换为指定的

    2022年7月3日
    17
  • jdk1.8 HashMap扩容机制变化「建议收藏」

    jdk1.8 HashMap扩容机制变化「建议收藏」概述JDK1.8中的HashMap较于前代有了较大的变更,主要变化在于扩容机制的改变。在JDK1.7及之前HashMap在扩容进行数组拷贝的时候采用的是头插法,因此会造成并发情景下形成环状链表造成死循环的问题。JDK1.8中改用了尾插法进行数组拷贝,修复了这个问题。其次,JDK1.8开始HashMap改用数组+链表/红黑树组合的数据结构来提高查询效率,降低哈希冲突产生的链表过长导致的查询效率减缓现象。本文的主要内容是对JDK1.8中的扩容机制与前代进行比较。JDK1.8之前的扩容由res

    2022年6月22日
    26
  • DIY 手动制作自己的win pe

    DIY 手动制作自己的win pe首先,写在前面的话,从网上下载的winpe用着总是觉得不安心(。。。),在然后自己做的pe可以封装进去自己常用的工具。准备1,在MSDN我告诉你上面下载win764sp1的安装包。2,EasyBoot和UltraISO。这两个工具自己去官网下载。注册的话,自己百度注册#码。3,imagex工具,(这个工具应该是在windowAIK里面)。我这用的是一个64位的程序。(…

    2022年7月26日
    10
  • cts蓝牙在哪里(蓝牙怎么测试)

    安装蓝牙测试安装包之后。安卓包名字android-cts-6.0_r19-linux_x86-x86.zip解压之后/cts/android-cts/tools/目录下运行./cts-tradefed进入之后运行runcts-pandroid.bluetooth–skip-preconditions转载于:https://…

    2022年4月14日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号