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生命周期详解
我们可以自己定义当处于什么状态的时候做什么事件
原文地址:https://www.cnblogs.com/wdht/p/6086739.html