链接地址: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()方法进入毁灭态。

更多相关文章

  1. Android中设置控件透明度的方法
  2. Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Proc
  3. Android进程so注入Hook java方法
  4. Android JNI使用方法
  5. Android用户界面 UI组件--TextView及其子类(一) TextView
  6. Android 布局中的android:onClick的使用方法总结
  7. Android工程手动增加插件包方法
  8. android颜色值的表示方法android:background="#FFFFFFFF"的意思
  9. android设置横屏和竖屏的方法

随机推荐

  1. Android Jetpack组件学习 Room
  2. android实现拖动效果
  3. android跳转到另一个类再返回当前类和值
  4. Android 根据源码详细讲解Handler
  5. Android控件开发之四----ListView(3)
  6. android 群发短信
  7. Android使用百度定位API时获取的地址信息
  8. android之MediaPalyer
  9. IDEA和Android Studio设置自定义背景图片
  10. Fragment与Activity之间数据交互(Kotlin)