码迷,mamicode.com
首页 > 移动开发 > 详细

android开发 - Activity生命周期

时间:2015-04-05 16:07:03      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:android   android开发   

本章主讲Activity的生命周期

技术分享


Activity整个生命周期有四种状态,7个方法,3个嵌套循环 


状态:

1.  Activity/Running 活动状态

       指的是当前用户正在交互的activity状态

2. Paused                  暂停状态

       指的是当前activity可见,但是被吐司或者对话框遮罩时状态

3. Stopped                停止状态

       指的是被新的创建的activity遮挡时的状态,它保留了之前的操作信息和状态,但是如果系统内存不够,可能会被killed

4. Dead                     非活动状态

       指的是当activity尚未启动,或者被系统回收时处于非活动状态,可以手动调用finish()方法,终结activity     


生命周期:

1. onCreate();

                在activity第一次创建时被调用,可以做一些变量初始化,绑定数据,显示View视图

2. onStart();

                创建完activity后,开始显示视图到界面上

3. onRestart();

               当activity停止,或者中断后,重新显示视图时,会调用该方法

4. onResume();

                视图在界面显示后,可以与用户交互了

5. onPause();

               当跳转另一个activity时,或者停止前,或者销毁前调用

6. onStop();

               当被另一个activity遮挡时调用,

7. onDestroy();

               当activity销毁时调用


嵌套循环:

1. activity完整生命周期

     从onCreate()    到   onDestroy()

2. activity可视生命周期

    从onStart()        到  onStop()

3. activity前台生命周期

    从onResume()  到     onPause();


例如:使用LogCat打印生命周期 过程是

 1.完整生命周期

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

2. 运行activity,生命周期过程是 

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

3. 横竖屏切换时生命周期时 

    onSaveInstanceState()  -> onPause()   ->  onStop()  ->  onDestroy()  ->  onCreate()  ->  onStart()  -> onRestoreInstanceState()   -> onResume

4.当我们在AndroidMenifest.xml中的相应的activity中添加android:configChanges="orientation"时

   再横竖屏切换,生命周期只会执行onConfigurationChanged()方法,

5. 一个activity跳转另一个activity声明周期过程是

    第一个activity   

           onSaveInstanceState()  -> 

           onPause()  ->  

           开始第二个activity

           onCreate() ->

           onStart()    -> 

           onResume()  ->

            第一个activity停止了

           onStop()   ->

           此时,返回第一个activity

           onRestart()  ->

           onStart()      ->

           onResume()  ->

          此时,第二个activity销毁了

          onStop()   ->

          onDestroy()  

          


总结:activity跳转到新的activity时,旧的activity会被保存现场,并且停止了,新的activity被创建了,如果返回旧的activity时,新的activity会被销毁掉了,旧的activity会执行onRestart()方法,然后显示界面,并可交互状态,所以onCreate()方法只会被调用一次,但是在横竖屏切换时,那就相当于重新执行了一遍生命周期,销毁横竖屏前的对象,重新创建新的activity,如果在清单中配置了android:name="orientation"那么,就会执行onConfigurationChanged()方法,并且生命周期不会重新执行一遍





android开发 - Activity生命周期

标签:android   android开发   

原文地址:http://blog.csdn.net/u013538542/article/details/44887567

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!