Android必备:Android Activity的生命周期

    链接地址:http://www.xx566.com/detail/124.html

    在Android应用程序组成中, 我们了解到了Android组件Activity的重要性,它是Android应用的表示层,负责应用的UI展现,直接与用户进行交互,与Servlet 类似,Activity也有自己的生命周期,接下来,我们就来简单觉得了解一下Android Activity的生命周期。

    关于Android Activity生命周期,网上有许多经典的介绍,不过大神写的永远是大神的,只有自己详尽的理解和总结,才能转化为自己的,首先我们先来看下面一张生命周期图,(图片来自:Learning Android (2nd Edition))

Android必备:Android Activity的生命周期_第1张图片

    从图中,我们看到Activity有五种状态:Starting(初始态),Running(运行态),Paused(静止态),Stopped(终止 态),Destroyed(毁灭态),接下来,我们通过解读这五种状态,来了解Activity的声明周期,以及Activity中几个关键的方法。

    Activity的运行代价是非常昂贵的,通常需要完成一系列的工作:如创建一个独立的Linux进程,为所有的UI对象分配内存空间,解析所有的xml布局文件,把UI对象展示在屏幕上。

    Starting(初始态)

    处于初始态的Activity,在内存中并没有相应的地址空间,只有在启动的时候,才会由Linux内核分配地址空间,进入Running(运行态)


    Running(运行态)

    处于运行态的Activity,是唯一展现给用户的Activity,用户的焦点集中,与用户进行直接交互,并且运行态的Activity具有高的优先 级,来获取系统内存和资源分配,以保证能快速运行。Activity由运行态转变为静止态比较典型,比如说:在此Activity中,启动一个对话框的时 候,用户焦点转移,Activity状态更改为Paused(静止态),切换Activity的时候,也会暂时处于静止态。上图我们看 到,Activity执行onCreate()、onStart()、onResume()方法都会进入此状态。 

 

    Paused(静止态)

    处于静止态的Activity,不占据用户焦点,不过仍然在屏幕展现,同样具有高的优先级,来享用系统内存和资源的分配。当新的Activity展现给用户时,原Activity处于终止态。Activity调用onPause()方法进入静止态。

 

   Stopped(终止态)

    当Activity不在展现在用户视野中,但是仍然占据内存空间,则Activity处于终止态,终止态的Activity仍有机会在用户操作情况下回 到运行态。当用户长时间无操作时,系统回收资源,终止态的Activity将转换到毁灭态。Activity调用onStop()方法进入终止态。

   

   Destroyed(毁灭态)

    处于毁灭态的Activity,完全释放占据的资源和内存空间,即用户完全退出应用,用户只能。Activity调用onDestroy()方法进入毁灭态。

你可能感兴趣的:(android,Activity,生命周期)