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

原创 2017年06月12日 18:55:10

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实例。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android应用程序四大组件之Activity(二)

Activity状态保存 1.onSaveInstanceState()/onCreate()/onRestoreInstanceState() 系统在回收当期Activity之前会调用onSav...
  • ajq1989
  • ajq1989
  • 2011年09月05日 23:15
  • 820

Android应用程序四大组件

  对于一个Android应用程序来说,是由四种构造块组织而成的,这四种构造块如下:      Activity         Intent Receiver     Service     Con...
  • muyu114
  • muyu114
  • 2011年04月17日 13:47
  • 2457

Android应用程序四大组件分别是什么?各个组件所起到的作用是什么?

Android四大组件分别为activity、service、content provider、broadcast receiver。 一、android四大组件详解 1、activity (...

01 Android应用的构成 四大组件 Activity, Intent Receiver , Service , Content Provider

对于一个Android应用程序来说,是由四种构造块组织而成的,这四种构造块如下: 但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种...

Android应用程序的基本组件之Activity

一个Android应用程序可以有几个不同的组件构成,其中Android应用程序中基本组件有Activity,Servier,BroadcastReceiver,ContentProvider等,不同的...

解开Android应用程序组件Activity的"singleTask"之谜

在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"singleTask"这种方式了,官方文档称以这种方式启动的Activity总是属于一个任务的根Activi...

解开Android应用程序组件Activity的"singleTask"之谜

转自:解开Android应用程序组件Activity的"singleTask"之谜         在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"s...

Android应用程序组件Activity的"singleTask"

转自http://blog.csdn.net/luoshengyang/article/details/6714543    在Android应用程序中,可以配置Activity以四种方式来启动...

解开Android应用程序组件Activity的singleTask之谜

在Android应用程序中,可以配置Activity以四种方式来启动,其中最令人迷惑的就是"singleTask"这种方式了,官方文档称以这种方式启动的Activity总是属于一个任务的根Activi...

Android应用程序组件间通信(一)——Intent类简介

    Intent类的对象是组件间通信的载体,组件间通信就是一个一个的Intent对象在不断传递。Android的三大核心组件Activity,Service和BroadcastReceiver通过...
  • wjr2012
  • wjr2012
  • 2011年02月24日 16:00
  • 4895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android应用程序——四大组件之Activity
举报原因:
原因补充:

(最多只允许输入30个字)