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生命周期详解
    我们可以自己定义当处于什么状态的时候做什么事件
  • 相关阅读:
    [导入]微软轻量级“代码生成器”—Repository Factory使用(上)
    数据结构练习(41)数组中三个只出现一次的数字
    数据结构练习(43)字符串的组合
    数据结构练习(37)复杂链表的复制
    数据结构练习(36)二叉树两结点的最低共同父结点
    数据结构练习(34)对称子字符串的最大长度
    数据结构练习(38)树的子结构
    数据结构练习(39)二叉树前中后序遍历的非递归实现
    数据结构练习(42)八皇后问题
    数据结构练习(35)数组中出现次数超过一半的数字
  • 原文地址:https://www.cnblogs.com/wdht/p/6086739.html
Copyright © 2011-2022 走看看