您的位置:华清远见教育科技集团 >> Android资料 >> 图解Android Activity生命周期  
 
图解Android Activity生命周期
分享到:

Android应用组件Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。对于一个Android应用程序来说,可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动。当它不积极运行时,Activity可以被操作系统终止以节省内存。

Android常用组件生命周期一文中我们简单介绍过Activity生命周期,Activity生命周期指Activity从启动到销毁的过程。Activity表现为4种状态,分别是活动状态、暂停状态、停止状态和非活动状态。

●  活动状态,Activity在用户界面中处于上层,完全能被用户看到,能够与用户进行交互。
    ●  暂停状态,Activity在界面上被部分遮挡,该Activity不再处于用户界面的上层,且不能够与用户进行交互;或者屏幕被锁定。
    ●  停止状态,Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡。
    ●  非活动状态,不在以上3种状态中的Activity则处于非活动状态。

这四种状态是可以相互转换的,转换关系图如图1-1所示。


图1-1 Activity的4种状态的转换关系图

Android调用以下的事件回调方法通知Activity从某一状态转变到另一状态。

代码清单1-1 事件的回调方法

public class MyActivity extends Activity {
        protected void onCreate(Bundle savedInstanceState);
        protected void onStart();
        protected void onRestart();
        protected void onResume();
        protected void onPause();
        protected void onStop();
        protected void onDestroy();
    }


图1-2 Activity活动周期

表1-1对各个事件回调方法做出说明。

表1-1 Activity生命周期的事件回调方法

方法 是否可终止 说明
onCreate() Activity启动后第一个被调用的方法,常用来进行Activity的初始化,例如创建View、绑定数据或恢复信息等
onStart() 当Activity显示在屏幕上时,该方法被调用
onRestart() 当Activity从停止状态进入活动状态前,调用该方法
onResume() 当Activity能够与用户交互,接收用户输入时,该方法被调用。此时的Activity位于Activity栈的栈顶

续表

方法 是否可终止 说明
onPause() 当Activity进入暂停状态时,该方法被调用。一般用来保存持久的数据或释放占用的资源
onStop() 当Activity进入停止状态时,该方法被调用
onDestroy() 在Activity被终止前,即进入非活动状态前,该方法被调用
onSaveInstanceState() Android系统因资源不足终止Activity前调用该方法,用以保存Activity的状态信息,供onRestoreInstanceState()或onCreate()恢复之用
onRestoreInstanceState() 恢复onSaveInstanceState()保存的Activity状态信息,在onStart()和onResume ()之间被调用

Activity事件回调方法的调用顺序,如图1-3所示。


图1-3 Activity事件回调方法的调用顺序

 更多相关文章

·Android进程与生命周期
·Android应用组件Activity
·Android常用组件生命周期
·Abstract class和Interface的使用
·Android Interface的使用