美文网首页
启动模式与应用场景

启动模式与应用场景

作者: couriravant | 来源:发表于2020-02-10 13:34 被阅读0次

    standard
    singleTop
    -通知消息打开的页面;
    -耗时操作返回页面;
    -登录页面
    singleTask (栈内复用模式)
    -大多数 App 的主页
    singleInstance
    -呼叫来电界面
    该模式具备singleTask模式的所有特性外,与它的区别就是,这种模式下的Activity会单独占用一个Task栈,具有全局唯一性,即整个系统中就这么一个实例,由于栈内复用的特性,后续的请求均不会创建新的Activity实例,除非这个特殊的任务栈被销毁了。以singleInstance模式启动的Activity在整个系统中是单例的,如果在启动这样的Activiyt时,已经存在了一个实例,那么会把它所在的任务调度到前台,重用这个实例。

    image.png

    当Activity(假设为A)的launchMode为singleTop且A的实例处于栈顶,或者launchMode为singleTask且A的实例已经在栈里(无论是栈顶还是栈中),再次启动Activity A时,便不会调用onCreate()去产生新的实例,而是调用onNewIntent()并重用返回栈里的A实例。
    如果A在栈顶,那么方法回调的调用顺序依次为A.onPause() -> A.onNewIntent() -> A.onResume()。A的launchMode可以为singleTo或者是singleTask。
    如果A不在栈顶,此时它处于A.onStop()状态,当再次启动时,调用顺序依次是A.onStop() -> A.onNewIntent() -> A.onRestart() -> A.onStart() -> A.onResume()。A的launchMode只能是singleTask。

    refer:https://blog.csdn.net/weixin_38196407/article/details/88351030

    相关文章

      网友评论

          本文标题:启动模式与应用场景

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