android启动模式及使用场景

  • standard --默认的标准启动模式

启动多少次就会有多少个实例被压到栈中,默认就是标准的启动模式

应用场景: 默认的应用场景

  • singleTop ---单一顶部模式

如果要启动的activity已经存在了栈顶--就是当前显示的就是它本身自己,这个时候就不会再启动一个新的界面。只要不是在栈顶,那么特点与标准的启动模式一样。

应用场景: 一般是为了避免出现一些奇怪的用户体验。 启动100次短信编写界面。

  • singleTask --单一任务模式

设置了这种启动模式的界面,在栈中只会存在一个实例,如果要启动的界面已经存在过实例,那么将直接复用该实例,并且把该实例与栈顶之间的其他实例对象全部移除掉。相当于是它位于栈顶。

如果位于栈顶,那么实际上就是与singleTop没什么区别。

应用场景: 如果一个界面极其的消耗内存CPU的开销,那么就应该做场singleTask的启动模式

浏览器的 BrowserActivity

  • singleInstance --单一实例模式

如果哪一个activity设置了这种启动模式,那么只要一启动,就会把这个activity的实例放到一个独立的栈中,里面有且只有它自己一个实例, 以后如果还启动这个activity,将不会创建新的实例,而是把它所在的栈移动到最前面显示给用户看

一个应用可以存在多个任务栈,如果有多个任务栈,要切换显示界面,实际上就是切换任务栈的先后顺序。

应用场景: 如果一个界面在单位时间内打开的频率非常的高,一天可能要打开几百次,甚至几千、几万次。那么这个界面应该做成singleInstance 来电的界面和 紧急呼叫的界面

你可能感兴趣的:(android启动模式及使用场景)