当前位置: 安卓之星 -> 安卓开发 -> android activity的7个生命周期图解

android activity的7个生命周期图解

作者:网络 发表于: 2016-10-03 点击: 491 次

activity生命周期

如图所示,安卓activity的生命周期可以分为7个阶段,即:

  1. onCreate(Bundle savedInstanceState):在activity创建的一开始时调用。
  2. onStart():activity变为在屏幕上对用户可见时调用。
  3. onResume():activity开始与用户交互时调用,无论是启动还是重新启动一个activity,这个方法总是被调用。
  4. onPause():activity暂停时或收回cpu、内存和其他资源时调用,该方法用于保存活动状态的。
  5. onStop():activity被停止并转为不可见阶段的时候被调用。
  6. onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
  7. onDestroy():activity被完全从系统内存中移除时调用,该方法被调用可能是因为有人直接调用onFinish()方法或者系统决定停止该活动以释放资源。

那么,一个安卓的进程是何时被系统结束的呢?一般来说,一个即将被系统关闭的进程是系统在内存不足(low memory)时,根据“重要性层次”选出来的“牺牲品”。一个进程的重要性是根据其中运行的部件和该部件的状态决定的。 各种进程按照重要性从高到低排列如下: 

  1. 前台进程:这样的进程拥有一个在屏幕上显示并和用户交互的 activity 或者它的一个 IntentReciver 正在运行。这样的程序重要性最高,只有在系统内存非常低,万不得已时才 会被结束。 
  2. 可见进程:在屏幕上显示,但是不在前台的程序。比如一个前台进程以对话框的形式显示在这个进程前面时。 这样的进程也很重要, 它们只有在系统没有足够内存运行所有前台进程时,才会被结束。 
  3. 服务进程:这样的进程都是在后台持续运行的,比如后台音乐播放、后台数据上传下载等。 这样的进程对用户来说一般很有用的, 所以只有当系统没有足够内存来维持所有的前台和可见进程时,这个进程才会被结束掉。 
  4. 后台进程: 这样的程序拥有一个用户不可见的 activity。 这样的程序在系统内存不足时, 按照LRU算法的顺序被结束。 
  5. 空进程:这样的进程不包含任何活动的程序的部件。操作系统随时有可能关闭这类进程。

本文由安卓之星http://www.androidstar.cn原创,转载请注明出处。

相关文章

相关文章

赶快留言冒泡

  • 评论 (0)
  • 引用通告 (0)
目前还没有任何评论.
目前还没有任何Trackbacks和Pingbacks.
吐个泡浮上去.