Activity的启动模式

      Android是使用Task管理应用中的Activity的。

      Activity启动模式有4种:standard(标准启动模式)、singleTop(单一顶部模式)、singleTask(单一任务模式)、singleInstance(单一实例模式)。

      启动模式是相对于一个Activity而言的

一、standard(标准启动模式)

      1、Activity的默认启动模式

      2、当Activity的启动模式设置为该模式时,启动一个Android应用时,系统会为该应用创建一个任务栈,用来管理本应用的Activity,使用startActivity()新打开一个Activity时,系统会把新打开的应用依次压入栈中,当点击返回键时,系统会以出栈的方式,一一展现出压入栈中的Activity,直到应用退出。

二、singleTop(单一顶部模式)

      当Activity的启动模式设置为singleTop时,在应用中启动该Activity时,系统会将该Activity压入到栈顶,如果再次打开该Activity时,系统将不会再次创建该Activity,如果打开的是另外的Activity时,系统会创建Activity,并压入栈中,(只要打开的Activity,不在栈的栈顶时,都会创建Activity并压入栈顶中,如果在栈顶,则不会创建新的Activity,而是会重用)

    如果在应用中连续打开该Activity时,点击返回按钮时只需点击一次,就可返回该Activity前面的Activity。

三、singleTask(单一任务模式)

    只要打开的Activity,不在栈内,都会创建Activity并压入栈中,如果打开的Activity在栈中,则系统会将该Activity第一次出现的位置之后的所有Activity都销毁,让自己在栈中唯一,且在栈顶。如果该Activity就在栈顶,再次打开该Activity时,情况和singleTop模式一样。

    如果在应用中打开过两次该Activity,点击返回键一次就可以返回到该Activity第一次出现位置的前一个Activity中

四、singleInstance(单一实例模式)

   当Activity的启动模式设置为它时,在应用中打开该Activity时,系统会新创建一个任务栈,将该Activity压入栈中,且该栈中只有该Activity,

    在该模式下,系统会创建两个栈,一个栈在前一个栈在后,如果在前面的栈是装普通的Activtity,后边的栈是装该Activity时,点击返回键时,系统会将该栈中的所有Activity退出之后,才会展现该Activity。如果装该Activity的栈在前面,则点击返回键时,先退出该Activity,退出该栈,再退出普通Acvitity。


说的是乱七八糟的,不过自己理解了。

你可能感兴趣的:(Android基础)