zoukankan      html  css  js  c++  java
  • 06 Activity 4中启动模式

    前言:改变Activity的启动模式可以清单文件AndroidManifest的Activity标签添加属性android:launchMode="standard"中修改如下图:launchMode一共有四种属性:standard (默认) ,singleTop,singleTask,singleInstance



    1,standard:

    正常模式 拿来主义,默认都是这个属性 ;也就是说你每次StartActivity都会在回退栈中生成一个Activity实例

    内存图:




    2,singleTop:

    如何当前Activity实例 在栈顶 此时你在 startActivit 该Activity(非实例)  那么将不会创建,除非此Activity实例 不在栈顶。

    那么我们假设Second的启动模式为singleTop那么内存图为:


    3,singleTask:

    单任务模式:不管在任何情况只能有一个Activity实例 如果该Activity实例 不在栈顶 时 再启动该Activity实例 时 会把栈端其他的给抛出栈外 直接启动该Activity实例

    那么我们假设Second的启动模式为singleTas那么内存图为:

    4,singleInstance

    该模式不管在任何情况只会生成一个Activity实例。并且和其他的不同的是该启动模式的Activity会单独创建一个栈只会保存自己,当启动该Acitivity会从单独栈区启动到界面。其他的任务栈区依然是不变

    那么我们假设Second的启动模式为singleInstance那么内存图为:


  • 相关阅读:
    mybatis调用oracle存储过程
    java heap space
    汉字转拼音
    Go调用cpp类方式一
    ETCD节点故障恢复
    goroutine 加 channel 代替递归调用,突破递归调用的层级限制
    vscode debug golang
    mysql分组和去重同时使用
    github、gitlab 管理多个ssh key
    Qt连接MySQL
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152292.html
Copyright © 2011-2022 走看看