Activity简述

来源:互联网 发布:mac我的所有文件 乱 编辑:程序博客网 时间:2024/05/19 19:33

(一)概念

         Activity的中文意思的“活动”,它在Android中也是作为主要的活动承载着发挥着重要作用。在Android中,Activity作为最基本的模块,它提供了系统和用户交互的可视化界面。在Android移动应用中可以包含一个或多个Activity,这取决于具体的应用程序设计。当然,一般情况下应用程序往往包含多个Activity。

         Activity中显示的内容是由一系列的视图构成的,这些视图都继承自View基类。每一个视图,都控制着窗口中一块特定的矩形区域。此外,这些视图往往并不都是独立的,有着互相嵌套的层级关系。在外面的我们叫做父级视图,被包裹的叫做子视图。

                                                                                  

(二)Activity的四种状态

            Activity从创建到销毁,主要有四种状态。下面将予以简要介绍:

            Running:一个新 Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。

            Paused :当 Activity 被另一个透明或者Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。

           Stopped :当 Activity 被另外一个Activity 覆盖、失去焦点并不可见时处于 Stopped状态。

            Killed :Activity 被系统杀死回收或者没有被启动时处于 Killed状态。

           当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。

                                                                                                         


(二)Activity的生命周期

        Activity从创建到使用,再到最后的销毁会调用很多的方法。Activity存在时的整个阶段我们称之为生命周期。在Activity的整个生命周期中,系统会调用如下几个重要的方法,有的方法甚至会被多次反复调用。

          onCreate(): 在Activity刚创建时被调用,一般会借用此方法执行初始化的相关操作。

              onStart(): 启动Activity时被调用,即当这个Activity第一次在屏幕上显示的时候被回调。

         onRestart(): 重启Activity是被调用,即当一个Activity在创建后从不显示到显示时被回调。当然,这里不包括第一次由不显示到显示。

         onPause():  当Activity暂停时被调用,此方法需要快速执行,常用于持久保存数据。

     onResume():  当Activity由暂停状态恢复到活动状态时被调用,此方法执行后,该Activity重回Activity栈的栈顶。

            onStop():  停止Activity时被调用。

      onDestroy():  销毁Activity时被调用。

                                                                     

       上面介绍了Activity生命周期中的7个重要方法,其实Activity还存在着3个嵌套的生命周期,下面将简要介绍:

       1)完整的生命周期: 从onCreate()方法调用开始,在onDestroy()方法调用结束。

       2)可见的生命周期:从onStart()方法调用开始,到onStop()方法调用结束。

       3)   前台生命周期: 从onResume()方法调用开始,到onPause()调用结束。

       总结:本文简要介绍了Activity的概念、运行中的四种状态、生命周期和整个生命周期中最重要的7个方法。希望对初学者了解Activity提供帮助,想要深层次的研究Activity需要我们多多研读经典书籍和多做项目,唯有如此才能系统把握Android开发知识。

1 0