zoukankan      html  css  js  c++  java
  • Android开发之Activity生命周期篇

    一、Activity:

            1、Activity:Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的。

            2、在Android中Activity主要是用来做控制的,它可以选择要显示的View,也可以从View中获取数据然后把数据传给Model层进行处理,最后再来显示出处理结果。

            3、Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。

          Acitivity一般意义上有四种状态:

                   1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态

                   2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activity并不是铺满整个手机屏幕),此时处于暂停状态

                   3.当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态

                   4.当Activity由于人为或系统原因(如低内存等)被销毁,此时处于销毁状态;

    在每个不同的状态阶段,Adnroid系统对Activity内相应的方法进行了回调。因此,我们在程序中写Activity时,一般都是继承Activity类并重写相应的回调方法。

    二、在Activity中主要有7个常用的周期函数,他们分别是: 

           1、onCreate 在Activity对象被第一次创建时调用 
                 注: 从另一个Activity返回到前一个Activity时,不会调用该函数 

          2、onStart 当Activity变得可见时调用该函数 

          3、onResume 当Activity开始准备与用户交互时调用该方法 
                  注: 也可以理解为当Activity加载完毕,并且用户没有对Activity操作的时候调用到的函数 

         4、onPause 当系统即将启动另外一个Activity之前调用的方法 

         5、onStop 当前Activity变得不可见时调用该方法 

         6、onDestroy 当前Activity被销毁之前将会调用该方法 
                  注: 在做后退操作的时候 onDestroy 总是跟在 onStop后面 

         7、onRestart 当一个Activity再次启动之前将会调用该方法 

    首先看看Activity的生命周期图

    安卓Activity生命周期详解

    当第一次调用一个Activity就会执行onCreate方法

    安卓Activity生命周期详解

    当Activity处于可见状态的时候就会调用onStart方法

    安卓Activity生命周期详解

    当Activity可以得到用户焦点的时候就会调用onResume方法

    安卓Activity生命周期详解

    当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法

    安卓Activity生命周期详解

    当Activity被遮挡住的时候就会调用onPause方法

    安卓Activity生命周期详解

    当Activity被销毁时会调用onDestory方法

    安卓Activity生命周期详解
    我们可以自己定义当处于什么状态的时候做什么事件
  • 相关阅读:
    洛谷 P1048 采药
    一本通 1267:【例9.11】01背包问题
    一本通 1265:【例9.9】最长公共子序列
    一本通 1282:最大子矩阵
    一本通 1285:最大上升子序列和
    一本通 1284:摘花生
    一本通 1283:登山
    一本通 1264:【例9.8】合唱队形
    洛谷 P1126 机器人搬重物
    洛谷P1522 牛的旅行 Cow Tours
  • 原文地址:https://www.cnblogs.com/wdht/p/6086739.html
Copyright © 2011-2022 走看看