活动生命周期详解

来源:互联网 发布:h网络快还是e网络快 编辑:程序博客网 时间:2024/06/02 00:50

一.基本概述:

活动生命周期总共7个方法:

1.onCreate

这个方法在活动第一次创建的时候会被调用并且在每个活动中都会被重写,它的作用在于我们在这个地方初始化活动要显示的一切 比如加载布局,绑定事件等。

2. onStart()
这个方法在活动由不可见变为可见的时候调用;

3. onResume()
这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。

返回栈:Android的活动是采取任务管理的方法来执行 是在栈中实现的 栈是一种 后进先出 的数据结构。

4. onPause()
这个方法在系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方
法中将一些消耗CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度
一定要快,不然会影响到新的栈顶活动的使用。
5. onStop()
这个方法在活动完全不可见的时候调用。它和onPause()方法的主要区别在于,如
果启动的新活动是一个对话框式的活动(无法占据整个屏幕的活动 也就是说 在显示这个活动的时候 你还可以看到前面一个活动的样子),那么onPause()方法会得到执行,而onStop()方法并不会执行。
6. onDestroy()
这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
7. onRestart()
这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

启动一个界面将会调用
01-14 13:35:23.409 2251-2251/: 调用了onCreate方法
01-14 13:35:23.409 2251-2251/: 执行了onStart方法
01-14 13:35:23.409 2251-2251/: 执行了onResume方法
退出一个界面将会调用(back返回键 将会执行销毁活动的 finsh()方法)
01-14 13:33:25.980 2251-2251/: 执行了onPause方法
01-14 13:33:26.513 2251-2251/: 执行了onStop方法
01-14 13:33:26.513 2251-2251/: 执行了onDestroy方法
从当前界面切换到另外一个界面 当前界面将会执行(在这种情况下 一个活动 被另外一个活动完全掩盖住了 就会同时执行)
01-14 13:35:54.342 2251-2251/: 执行了onPause方法
01-14 13:35:54.821 2251-2251/: 执行了onStop方法
从跳转之后的界面返回上一个界面将会执行
01-14 13:37:00.123 2251-2251/: 执行了onRestart方法
01-14 13:37:00.123 2251-2251/: 执行了onStart方法
01-14 13:37:00.123 2251-2251/: 执行了onResume方法
跳转到对话框的布局 只会执行
01-14 13:37:49.664 2251-2251/: 执行了onPause方法(因为这个对话框 的大小并不能掩盖掉上一个大一点的布局 所以上面那个布局并不会执行stop方法 进入到停止状态)
从对话框的布局返回上一个界面 只会执行
01-14 13:38:35.684 2251-2251: 执行了onResume方法

0 0