安卓(android)生命周期的系统性总结以及实例演示

来源:互联网 发布:软件qa岗位职责 编辑:程序博客网 时间:2024/06/02 21:43

Activity是安卓中最最重要的一个基础组件,下面就对它的一些系统性的总结分享给各位开发人员,帮助大家更好的理解和使用。

1、Activity显示和销毁原则:

Activity的顺序是按照栈的先进后出原则进行的。当启动其他Activity时当前的这个Acitivity就会被停止,新的Activity将会压入栈中,同时获取用户焦点;当用户按返回键时,当前的这个Activity将会被销毁,前一个Activity重新恢复。

2、Activity的七个方法:

onCreate()

onStart()

onRestart()

onResume()

onPause()

onStop()

onDestroy()

3、Activity的三个阶段:

开启Activity阶段:依次执行onCreate()、onStart()、onResume()这三个方法

Activity重新获取焦点阶段:依次执行onRestart()、onStart()、onResume()这三个方法

关闭Activity阶段:依次执行onPause()、onStop()、onDestory()这三个方法

4、Activity整体生命周期:

onCreate()->onStart()->onRestart()->onResume()->onPause()->onStop()->onDestroy()

5、Activity的两个子生命周期:

焦点生命周期:onResume()->onPause()(焦点获取与失去的循环,但是Activity始终是可见的,焦点失去只是被覆盖)

可视生命周期:onStart()->onRestart()->onResume()->onPsuse()->onStop()(Activity可见与不可见的循环)

6、下面举一个在方法中输出日志的例子,来看一下Activity使用的过程中各个方法的调用情况。

运行添加下面代码的安卓工程,显示这个Activity的页面以后,翻看运行的app或服务,点击其中一个,会进入到其他页面,然后再按返回键回到咱们这个安卓工程页面,接着再按一次返回键,退出这个安卓工程。并在这个过程中实时查看日志的输出信息。以这样的方式来理解安卓生命周期中各个方法的调用情况。

MainActivity.java文件:

    private final String TAG="MainActivity";    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);Log.i(TAG,"onCreate");    }protected void onStart() {// TODO Auto-generated method stubsuper.onStart();Log.i(TAG,"onStart");}protected void onRestart() {// TODO Auto-generated method stubsuper.onRestart();Log.i(TAG,"onRestart");}protected void onResume() {// TODO Auto-generated method stubsuper.onResume();Log.i(TAG,"onResume");}protected void onPause() {// TODO Auto-generated method stubsuper.onPause();Log.i(TAG,"onPause");}protected void onStop() {// TODO Auto-generated method stubsuper.onStop();Log.i(TAG,"onStop");}protected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();Log.i(TAG,"onDestroy");}


2 0