博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Activity生命周期
阅读量:5749 次
发布时间:2019-06-18

本文共 2700 字,大约阅读时间需要 9 分钟。

  hot3.png

思路:1.继承Activity

         2.重写方法(onCreate、onStart、onPause、onResume、onStop、onDestroy...)

         3.模拟场景(首次启动、屏幕变黑、按Home键、屏幕亮起、退出、进程杀死...),打印日志、分析。

实现:

1)java代码

 /** * Created by mb on 2015/1/28. * 测试生命周期 */public class TestActivity extends Activity {    private static final String TGA = "TestActivity";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        LogUtils.v(TGA, "onCreate");//LogUtils是打印日志的工具类        setContentView(R.layout.test_layout);    }    @Override    protected void onStart() {        super.onStart();        LogUtils.v(TGA, "onStart");    }    @Override    protected void onRestart() {        super.onRestart();        LogUtils.v(TGA, "onRestart");    }    @Override    protected void onResume() {        super.onResume();        LogUtils.v(TGA, "onResume");    }    @Override    protected void onPause() {        super.onPause();        LogUtils.v(TGA, "onPause");    }    @Override    protected void onPostResume() {        super.onPostResume();        LogUtils.v(TGA, "onPostResume");    }    @Override    protected void onStop() {        super.onStop();        LogUtils.v(TGA, "onStop");    }    @Override    protected void onDestroy() {        super.onDestroy();        LogUtils.v(TGA, "onDestroy");    }}

2)运行程序、查看日志:

<1>首次启动:

01-28 13:27:25.945    3825-3825/com.imeibi.myapp V/TestActivity﹕ onCreate

01-28 13:27:25.960    3825-3825/com.imeibi.myapp V/TestActivity﹕ onStart
01-28 13:27:25.960    3825-3825/com.imeibi.myapp V/TestActivity﹕ onResume
01-28 13:27:25.960    3825-3825/com.imeibi.myapp V/TestActivity﹕ onPostResume

<2>屏幕变黑、按HOME键:

01-28 13:27:40.875    3825-3825/com.imeibi.myapp V/TestActivity﹕ onPause

01-28 13:27:40.914    3825-3825/com.imeibi.myapp V/TestActivity﹕ onStop

<3>屏幕亮起、重新启动:

01-28 13:28:17.164    3825-3825/com.imeibi.myapp V/TestActivity﹕ onRestart

01-28 13:28:17.171    3825-3825/com.imeibi.myapp V/TestActivity﹕ onStart
01-28 13:28:17.179    3825-3825/com.imeibi.myapp V/TestActivity﹕ onResume
01-28 13:28:17.179    3825-3825/com.imeibi.myapp V/TestActivity﹕ onPostResume

<4>退出(返回键退出):

01-28 13:28:41.703    3825-3825/com.imeibi.myapp V/TestActivity﹕ onPause

01-28 13:28:42.320    3825-3825/com.imeibi.myapp V/TestActivity﹕ onStop
01-28 13:28:42.320    3825-3825/com.imeibi.myapp V/TestActivity﹕ onDestroy

<5>进程杀死:

01-28 13:36:26.132    3825-3825/com.imeibi.myapp V/TestActivity﹕ onDestroy

 3)分析:

092714_2sEb_2263722.gif

activity有三种基本状态:

(1)Active状态:可见,处于屏幕前景(当前task的栈顶Activity处于Active状态),同一时刻只能有一个Activity处于Active状态;

(2)Paused状态:不可见,失去焦点,但依然是活动状态;

(3)stopped状态:不可见,但依然保持多有状态和内存信息。

通过上面的信息再结合右图(最好自己动手试一试),我相信应该对activity生命周期有所了解了吧。

好了,通过上面的信息,再结合上图应该对activity有一定的了解了。自己再动手试一试,应该差不多了。

若有不足之处,希望大胆指出,刚学android,互相学习......

转载于:https://my.oschina.net/imeibi/blog/372988

你可能感兴趣的文章
每天一个linux命令(28):tar命令
查看>>
c++Valgrind内存检测工具---19
查看>>
react.js 测试
查看>>
linux中的两个很重要的信号:SIGALRM信号和SIGCHID信号
查看>>
uboot下tftp传输文件
查看>>
feature map计算大小公式
查看>>
sql优化经典例子
查看>>
10大H5前端框架(转)
查看>>
java文件操作 之 创建文件夹路径和新文件
查看>>
WPF绘制深度不同颜色的3D模型填充图和线框图
查看>>
lua integrate with c LUA集成进C
查看>>
Windows Phone 7.5 - Local SQL Database:Mango Local Database(SQL CE)
查看>>
IP地址知识
查看>>
c#在未出现异常情况下查看当前调用堆栈
查看>>
解决:eclipse双击无法打开工程目录了
查看>>
深度解析iPhone窗口和视图
查看>>
WPF换肤之四:界面设计和代码设计分离
查看>>
Struts原理及环境搭建
查看>>
【转载】王先荣(Xianrong Wang)图像处理源代码下载
查看>>
从LazyPhp说起
查看>>