一、Task基本概念(A Task is a stack of activities)
Task是一个栈,有压、弹两个动作,顺序先进后出。启动的Activity都会被压入栈中,可以把Task看作是一个应用程序所有Activity的一个容器,它把所有的Activity组织在一起,让用户感觉应用程序是一个整体。
栈中Activity不能改变顺序。程序只会显示栈最顶部的那个Activity。
二、Activity和Task之间的关系
应用程序启动之后,运行第一个Activity之后,该Activity对象被压入Stack中
点击按钮后启动第二个Activity,该Activity对象被压入Stack中
点击第二个Activity的按钮之后,启动第三个Activity,该Activity对象被压入Stack中
点击第三个Activity的按钮之后,启动第四个Activity
注意SecondActivity.this.finish(); 这句代码,会将 SecondActivity 从栈中踢出去,从而你在显示 ThirdActivity ,点击返回按钮时,会直接跳到 FirstActivity 去了。
三、对话框风格Activity的使用方法
对话框Activity可以显示进度条、提示框等
1、对话框的Activity 只要在 AndroidMainifest.xml 中添加:
<activity android:name=".DialogActivity" android:label="@string/hello" android:theme="@android:style/Theme.Dialog" />
2、关于对话框Activity 的生命周期函数—— onPause 与 onStop 区别
onPause 在启动一个新的 activity 时调用前一个 Activity 该方法。
onStop 在一个新的 Activity 完全遮住前一个 Activity 时调用前一个 Activity 的该方法。
DiaologActivity 并没有完全遮住前一个 Activity ,所以不调用前一个 Activity 的 onStop 方法。
3、Activity 能否被 Kill 掉
在手机资源有限的情况下,操作系统会自动关闭某些 Acitviy ,说明这些 Activity 可以被 killed 掉。当一些 Activity 执行某些生命函数时,可以被杀掉。