美文网首页
14.清空栈的使用

14.清空栈的使用

作者: 随风_逝 | 来源:发表于2018-11-02 10:55 被阅读10次

参考:https://www.cnblogs.com/itrena/p/7434174.html
https://blog.csdn.net/csdn_of_coder/article/details/76343031

1.用FLAG_ACTIVITY_CLEAR_TOP 实现清空Activity栈:

能够清空此栈之前的Activity,清空在即将跳转的activity之前的栈,所以此activity要设置成singline模式。
跳转时候把他之前的栈都清掉

   /**
     * 清空跳转Activity之前的栈
     *
     * @param clz
     */
    public void startClearTopActivity(Class<?> clz) {
        startActivity(new Intent(BaseActivity.this, clz).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    }

2.FLAG_ACTIVITY_NO_HISTORY

在AndroidManifest.xml设置Activity的属性noHistory = true,
当启动新的Activity后之前的Activity不会保存在ActivityTask中,可以满足你的需求。

 <activity
            android:name=".activity.ServiceActivity"
            android:noHistory="true" />

 Intent.setFlags(FLAG_ACTIVITY_NO_HISTORY)

栈中完全不存放任何activity,每一个都是新生成的。

3.FLAG_ACTIVITY_CLEAR_TASK:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

这个标记,将会导致任何用来放置该activity的已经存在的task里面的已经存在的activity先清空,然后该activity再在该task中启动,也就是说,这个新启动的activity变为了这个空task的根activity.所有老的activity都结束掉。该标志必须和FLAG_ACTIVITY_NEW_TASK一起使用。

相关文章

  • 14.清空栈的使用

    参考:https://www.cnblogs.com/itrena/p/7434174.htmlhttps://b...

  • JavaScript 力扣算法记录-持续更新2

    11.栈的最小值 解题 12.化栈为队 解题 13.节点间通路 解题 14.化栈为队 解题 15.栈排序 解题 1...

  • 数据结构:Go 数组实现栈操作

    简介 栈的特点: 单向操作 先入后出(First In Last Out) FILO 操作 压栈、弹栈、清空、创建...

  • 清空任务栈

    通常情况下,可以在AndroidMainifest文件中的 标签中使用以下几种属性来清除任务栈。 clearTas...

  • Android开发NavController清空返回栈

    Android开发NavController清空返回栈 直接上代码:

  • 004 go语言实现栈

    1 数据结构 数据结构: 要实现的功能:0 栈的初始化1 获取栈长度2 入栈3 出栈4 清空栈内容5 判断栈是否为...

  • 基于数组的栈

    第一,初始化栈和清空栈。 第二,入栈和出栈。 第三,获取栈顶元素和显示栈中元素。 第四,调用方法。 这就是基于数组...

  • 基于链表的栈

    第一,初始化栈和清空栈。 第二,入栈和出栈。 第三,获取栈顶元素和显示栈中元素。 第四,调用方法。 这就是基于链表...

  • 一个闭包笔试题

    预备知识:使用setTimeout会生成一种特殊的队列结构,而这个队列执行的时间,需要等待到函数调用栈清空之后才开...

  • 数据结构与算法-数制的转换

    定义栈结构 构建一个空栈 将栈置空 将栈置空,不需要将顺序栈的元素都清空,只需要修改top标签就可以了。 判断顺序...

网友评论

      本文标题:14.清空栈的使用

      本文链接:https://www.haomeiwen.com/subject/gusqxqtx.html