Activity中的四种启动模式

来源:互联网 发布:js实现链表数据结构 编辑:程序博客网 时间:2024/05/21 15:38
Activity的四种启动模式
1.standard模式
    standard是Activity默认的启动模式,每当启动一个新的Activity,它就会进入任务栈,并处于栈顶位置
首先建一个activity,并放入一个Button,并运行到模拟器上。图示如下:

每点击一次按钮将会有一个Activity入栈。图示如下:

并且在我们的编辑器上面monitor下会看到。每点一次就生成一条记录。

2.singleTop模式
singleTop模式与standard模式类似,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例。
首先在standard模式下再建一个secondActivity,并且在文件清单中做一下修改。将原先standard模式下的做如下修改如图所示:

每点一次还是会显示当前界面,但当到栈顶时不会再创建Activity如图所示:

3.single Task模式
singleTask模式下Activity在整个应用程序中只存在一个实例,每次启动该Activity时,首先检查栈中有没有该实例,如果有出栈,如果没有则创建一个新的实例。
首先第一步如上所示,将其改为singleTask即可。
其次在FirstActivity.java中创建onRestart类

在secondFirstActivity.java中创建onDestory类

栈示意图如下:

4.singleInstance模式
指定为singleInstance的Activity创建一个新的栈来管理Activity
首先在第二步的基础上建立一个ThirdActivity.java,并在其创建onCreate类


第二步同singleTask模式下的第一步,修改为singleInstance
第三步运行到模拟器上如下图所示:

点击按钮显示

栈示意图


0 0