Android Activity生命周期

来源:互联网 发布:java中extends的用法 编辑:程序博客网 时间:2024/06/06 03:39
//当Activity展示给用户看到的时候被调用。如果本Activity处于Activity栈的顶部,则onStrat方法紧随着onResume方法的调用而调用    public void onStart()    {     super.onStart();    }    //当Activity从停止运行的状态到开发运行的转台的时候被调用    public void onRestart()    {     super.onRestart();    }    //当Activity开始将与用户进行交互时被调用    public void onResume()    {     super.onResume();    }    //当其它Activity被激活时,当前Activity的onPause将被调用    public void onPause()    {     super.onPause();    }    //当前Activity不再对用户可见的时候被调用(即可能是一个新的Activity被激活,或者是当前的Activity被销毁    public void onStop()    {     super.onStop();    }    //当前Activity被销毁之前。要销毁一个Activity,可以调用finish()方法。    public void onDestroy()    {     super.onDestroy();    }

从代码和注释来看,相信也大概对Activity的生命周期有了一个很好的了解,但是对于这几个方法什么时候被调用仍然是一头雾水?现在就看看以下的过程:

假如程序里面含有Activity,Activity作为一个主页面:

程序调用  ---->  程序退出  :

               onCreate() -> onStart() ->onResume()

                ->按回退键,退出程序 ->onPause() ->onStop()->onDestroy()

 

程序调用  ---->  按Home或者是Menu热键

               onCreate() -> onStart() -> onResume()

                -> 按Home或者是Menu热键 -> onPause() ->onStop()

   这个时候Activity并没有销毁调,只是放到了后台上,当然如果你长时间没有再调用的话,系统又要需要内存来做其它事的话,最后这个Activity也是会销毁的!

 

程序调用  ---->  按Home或者是Menu热键  ---->  程序再次调用

                onRestart() -> onStart() -> onResume()

                 -> ..............(后面的方法跟上面的两种没有区别)

 

注意对比一下各种情况程序的调用和退出所调用的方法,自然很容易对Activity的生命周期有深入的了解,在应用或者是游戏的开发上也会有很大的作用!


原创粉丝点击