美文网首页
Android的启动模式

Android的启动模式

作者: 浩仔_Boy | 来源:发表于2021-01-07 14:35 被阅读0次

    自己学习总结,仅供自己参考,如有不对欢迎指正

    1.standard

    每次都会在当前任务栈创建一个新的实例。允许多个相同实例叠加。
    MainActivity(standard模式)SecondActivity(standard模式)
    M启动S S点击返回,生命周期如下图:

    • image.png

    2.singleTask

    在当前任务栈只允许创建一个实例,如果再次被启动则会调用其onNewIntent,并将其上面的activity全部destory。
    MainActivity(standard模式)SecondActivity(singleTask模式)ThirdActivity(standard模式)
    M启动S S启动T T启动M M启动S S点击返回,生命周期如下图:

    image.png
    Activity任务栈的变化,如下图:
    image.png

    3.singleTop

    允许创建多个实例,但是当Activity是singleTop模式并存在栈顶的时候,再启动不会创建新的实例,而会调用栈顶Activity的onNewIntent

    4.singleInstance

    会创建一个单独的任务栈,且任务栈中只有他一个Activty实例,不允许其他Activity出现。
    实际使用场景类似浏览器,当多个程序调用浏览器时,如果浏览器没有启动则启动,启动了就在浏览器中访问。
    MainActivity(standard模式)SecondActivity(singleInstance模式)ThirdActivity(standard模式)
    M启动S S启动T T启动M M启动S 任务栈中activity变化如下图:

    image.png

    Activity嵌套Fragment的生命周期

    1.首先会走完fragment的onAttach-onCreateView-onViewCreated之后,执行Activity的生命周期。
    2.当执行完Activity的onCreate方法后,会执行Fragment的onActivityCreated

    image.png

    相关文章

      网友评论

          本文标题:Android的启动模式

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