Android应用程序——四大组件之Activity

Activity是Android应用程序的四大组件之一,它负责管理Android应用程序的用户界面。一个应用程序一般会包含若干个Activity,每一个Activity组件负责一个用户界面的展现。Activity是通过调用setContentView()方法来显示指定组件的。该方法既可以接收View对象为参数,也可以接收布局文件对应的资源id为参数。

(1).Activity生命周期的三种状态
生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为三种状态。
运行状态:当Activity在屏幕的最前端时,它是可见的、有焦点的。
暂停状态:Activity对用户来说仍然是可见的,但它不再拥有焦点。
停止状态:当Activity完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的。
Activity从一种状态转变到另一种状态时会触发一些事件,执行一些回调方法来通知状态的变化。

当手机横竖屏切换时,Activity会销毁重建(模拟器中横竖屏切换可以使用ctrl+F11)。
如果不希望在横竖屏切换时Activity被销毁重建,可以在AndroidManifest.xml文件中设置Activity的android:configChanges的属性,具体代码如下所示:

android:configChanges="orientation|keyboardHidden|screenSize“

如果希望某一个界面一直处于竖屏或者横屏状态,可以在清单文件中通过设置Activity的属性来完成,具体代码如下所示:

竖屏:android: screenOrientation="portrait"
横屏:android: screenOrientation="landscape"

(2).Activity的四种启动模式
先加入任务栈中的Activity会处于容器下面,后加入的处于容器上面,而从任务栈中取出Activity是从最顶端先取出,最后取出的是最底端的Activity。

Activity的启动模式有四种,分别是standard、singleTop、singleTask和singleInstance:
(1).在standard模式下,每当启动一个新的Activity,它就会进入任务栈,并处于栈顶的位置,对于使用standard模式的Activity,每次启动都会创建一个新的实例;
(2).singleTop启动模式与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它,不再创建新的实例;
(3).当Activity的启动模式为singleTask时,每次启动该Activity时,系统首先会检查栈中是否存在该Activity的实例,如果发现已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例;
(4).singleInstance模式加载Activity时,只会创建一个Activity实例,并且会使用一个全新的任务栈来装载该Activity实例。

你可能感兴趣的:(Andriod)