美文网首页Android进阶之路Android开发Android开发经验谈
怎样才能明白Android四大启动模式?几张图就ok!

怎样才能明白Android四大启动模式?几张图就ok!

作者: 程序员的Vere | 来源:发表于2020-02-28 16:40 被阅读0次

    前言

    CVTE面试的时候答的最烂的一个题目了。废话不多说,因为只要学过Android都应该知道四个启动模式:standardsingleTopsingleTasksingleInstance

    思维导图

    standard、singleTop、singleTask针对的任务栈都是当前对应的app进程的,而singleInstance指向整个系统。

    standard — 标准模式

    Activity的默认启动方式。

    • 特征:每次启动一个Activity都会创建一个实例。
    • 应用场景:默认情况。

    singleTop — 栈顶复用

    • 特征:如果在栈顶,就不在创建实例。反之则创建。
    • 应用场景:当前要跳转的页面已经在栈顶时,比如说消息通知跳转

    singleTask — 栈内复用

    • 特征:如果栈内存在,就将后入栈的实例全部弹出
    • 应用场景:有一个专用主页面作为基础的app,这样的app现在市面上也非常普遍存在,就比如一个Activity中嵌入ViewPager+BottomNavigationBar制作成的一个主页面一样,ViewPager中嵌入了很多的Fragment,这个时候如果是standardsingleTop的形式,很容易让应用卡顿。

    注意点:

    • 如果其他App进程开启了Activity1,这个时候会创建新的任务栈
    • 如果以该启动模式启动的Activity1已经活动在后台的一个任务栈中,那么启动后,后台任务栈会一起切换到前台。

    singleInstance — 全局唯一

    跟前三种启动模式不同,他并不要求实例在同一个任务栈

    • 特征:系统中只会有一个实例。
    • 应用场景:系统内部的应用,比如电话、短信等功能,通过Intent进行传播时,固定的就会调用这些系统自带的应用,在自己的应用中一般比较少使用。

    最后

    现在,几张图就可以轻松明白了!分享不易,大家可以关注我点个赞支持一下!
    还有更多的学习内容已经上传到了我的GitHub,附上我的链接:https://github.com/Meng997998/AndroidJX

    相关文章

      网友评论

        本文标题:怎样才能明白Android四大启动模式?几张图就ok!

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