Activity概述   

      Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话、照相、发邮件或者是浏览地图等。每个activity会提供一个可视的窗口,一般情况下这个窗口会覆盖整个屏幕,但在某此情况下也会出现一些比屏幕小的窗口飘浮在另外一相窗口上面。类比Windows当中的概念,Activity相应于一个Dialog(MFC)或者是Form(C#),它为用户提供一个可视的界面。

      一个应用当中通常有若干个关系松散的activities组成。通常情况下,一个应该中有一个activity是主activity,它会在应用程序加载时展现出来,之后每个activity都有机会启动其他activity,从而产生不同的动作。每当一个新的activity启动的时候,它的前一任就会停下来,这时系统将前任放在一个栈(后台栈)中。这个后台栈遵循先进后出原则,所以当用户对当前activity完成操作并按后退键时,原来栈中的activity就会从栈中弹出,恢复执行。(我们会在任务和后台栈中详细讨论后台栈)

      新activity启动,旧activity停止,这些操作会通过调用activity的生命周期回调函数来进行通知。对于activity来说,它可能会收到很多回调,这些回调会在系统创建、停止、恢复或者销毁一个activity时调用,这样,activity就有机会感知变化进行在相应的回调中做出正确的处理。例如,当activity停止时,它应该释放掉所有的大型对象,比如说网络连接或数据库连接。当activity恢复执行时,可以重新获取需要的资源并从中断处重新运行。这些状态的变化就是一个activity的生命周期。

      下面的文档将会讨论如何创建和使用activity,还将完整讨论整个activity生命周期。

创建一个Activity

    要创建一个activity,必须要创建Activity的子类或者是已存在的其它子类。在这个子类当中,需要实现一系列的回调接口