Activity生命周期(二)

来源:互联网 发布:知乎 中国风力发电现状 编辑:程序博客网 时间:2024/06/05 11:14

一、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的生命周期函数——onPauseonStop区别

  onPause在启动一个新的activity时调用前一个Activity该方法。

  onStop在一个新的Activity完全遮住前一个Activity时调用前一个Activity的该方法。

   DiaologActivity并没有完全遮住前一个Activity,所以不调用前一个ActivityonStop方法。

3、Activity能否被Kill

  在手机资源有限的情况下,操作系统会自动关闭某些Acitviy,说明这些Activity可以被killed掉。当一些Activity执行某些生命函数时,可以被杀掉。