界面组件的运行模式(任务栈:TaskMode)

taskMode 有:standard、singleTop、singleTask、singleInstance

  1. standard 默认的任务栈 

  2. singleTop(仅栈顶元素可以复用,仍然可能有多个对象

    当当前的Activity为栈顶对象时,在调用该Activity时则不再为该Activity构造新对象

  3. singleTask(整个系统仅有一个组件对象,只能作为任务的根组件存在

    1. 新建一个任务栈,把该Activity放在栈底,

    2. 当再调用其他的Activity时,构造的activity对象放入该栈内

    3.当再次调用该Activity时则清空栈回到该Activity

  4. singleInstance(整个系统仅有一个组件对象,只能作为任务的根组件存在

    与singleTask唯一的不同 是 他所在的任务栈只有他自己

     

其他:

   1.singleTask、singleInstance适合消耗内存较多的界面组件,如浏览器界面、音乐播放器界面···

   2.singleTop适合于和用户交互时保持信息更新的界面组件,如浏览器的书签页面、联系人的搜索结果界面

   3在非标准模式下,intent将以Activity.onNewIntent函数传递给activity

你可能感兴趣的:(界面组件的运行模式(任务栈:TaskMode))