1.运行状态:当一个活动处于栈的顶部时,这时活动就处于活动状态,系统是不愿意回收处于活动状态的,会影响用户体验。

2.暂停状态:当一个活动不再处于栈的顶部时,但仍然可见时,这时就是暂停状态了。处于暂停状态的活动仍然可见,系统也愿意回收,刚样也会影响用户体验。

3.停止状态:当一个活动不再处于栈的顶部时,并且完全不可见时,这时就是停止状态了。系统仍然会为这种活动保存成员变量和相应的状态,只有在内存很低的情况下才会进行回收。

4.销毁状态:当一个活动从栈中移除时,这时就是销毁状态了。系统会最先处理这种活动,以释放手机的内存空间。

活动的生存期(ActivityLifetime):Activity类中定义了7个回调方法分别是:onCreate()、onSart()、onResme()、onPause()、onStop()、onDestroy()、onRestart()。这7种方法覆盖了活动生命周期的每人环节,下面我们来一 一了解道来。

1.onCreate():初始化操作,所有活动都从这里启始。这里可以加载布局,或绑定事件等。

2.onSart():这个是活动变为不可见时调用。

3.onResme():这个方法一直处于栈的顶部,在和用户交互时调用,一直处于动行状态。

4.onPause():系统准备去启动或者恢复另一个活动时调用。这个方法以通常用来释放内存或保存数据,一定要快,不然会影响到栈顶部的活动运行。

5.onStop():这个方法是活动处于不可见时调用,它与onPause()的区别在于如果启动的活动是一个对话框式的,则onPause()会得到执行而onStop()的不会执行。

6.onDestroy():这个是活动被回收时调用,调用后活动就会被回收。

7.onRestart():重启处于停止状态的活动。

以上7种状态除onRestart()外,都是成对出现的。可以简化成三个活动期:

1.完整期:活动处于onCreate()和onDestroy()之间的就是完成生命周期。在onCreate()实例化,在onDestroy()销毁。

2.可见生存期:活动在处于onSart()和onStop()之间的就是可见生期存。与上面同样,在onSart()中创建,在onStop()中回收。

3.前台生存期:onResme()和onPause()之间就是前台生存期。在前台生存期,活动总是处于运行状态或栈的顶部,此时活动是可以和用户进行交互的,我们平时接触最多的就是这种。下面这张图就很好的说明了,(图非本人所画)。

android的生命周期的更多相关文章

  1. Android 进程生命周期 Process Lifecycle

    Android 进程生命周期 Process Lifecycle 进程的生命周期 Android系统会尽力保持应用的进程,但是有时为了给新的进程和更重要的进程回收一些内存空间,它会移除一些旧的进程. ...

  2. Android的生命周期学习

    掌握Android的生命周期对于如何一个刚刚接触Android初学者来说是至关重要的,在然后的开发中会给我留有更多的时刻余地,当自己正在认识Android中整个声明周期后,会编写出更加的流畅的程序 应 ...

  3. android 的生命周期自我理解

    android的active的生命周期,经过网站的blog学习,加上自己的理解总结如下: 第1种:全新的启动应用程序顺序 onCreate--->onStart---->onResume ...

  4. Android组件生命周期(二)

    引言 应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...

  5. 详解 Android Activity 生命周期

    从以下几个方面详细说一下Activity的生命周期: 1.回到主屏幕再打开和退出程序的时候. 2.屏幕旋转的时候. 3.打开其它的Activity的情况. 4.打开一个Layou透明的Activity ...

  6. [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!

    转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...

  7. Android Activity生命周期

    从android api文档摘抄出来的activity生命周期图如下: Activity有如下四种状态 a.活动状态  activity处于屏幕前台,获取到了焦点可以和用户进行交互,同一时刻只有一个a ...

  8. Android Activity生命周期详讲

    管理 Activity 生命周期 通过实现回调方法管理 Activity 的生命周期对开发强大而又灵活的应用至关重要. Activity 的生命周期会直接受到 Activity 与其他 Activit ...

  9. android Activity生命周期(设备旋转、数据恢复等)与启动模式

    1.Activity生命周期     接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...

  10. Android Fragment 生命周期及其API使用(建议使用自定义View替换Fragment)

    我为什么不主张使用Fragment Fragment:( Fragment就相当于一个有生命周期的View,它的生命周期被所在的Activity的生命周期管理 ) 生命周期回调说明: onAttach ...

随机推荐

  1. 数据库(学习整理)----5--Oracle常用的组函数

    其他: 1.oracle中下标是从1开始的,Java下标是从0开始的 函数分类: 日期函数 字符函数 转换函数 数学函数 系统函数 ---在当前月份上面:增加.减少月份 select add_mont ...

  2. Codevs 4768 跳石头 NOIP2015 DAY2 T1

    4768 跳石头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 一年一度的"跳石头"比赛又要开始了! ...

  3. 283. Move Zeroes(C++)

    283. Move Zeroes Given an array nums, write a function to move all 0's to the end of it while mainta ...

  4. C++ trivial和non-trivial构造函数及POD类型(转)

    原博客地址http://blog.csdn.net/a627088424/article/details/48595525 最近正纠结这个问题就转过来了,做了点补充(参考<深度探索C++对象模型 ...

  5. 在js脚本里计算多个小数的加法问题

    当在js脚本里计算多个小数的加法时,算得的结果往往会自动取整,这时候我们就应该加入以下代码: function toDecimal(x) { var val = Number(x); if (!isN ...

  6. BOM 之 window

    BOM 之 window 对象 在网页中定义的任何一个对象,变量和函数,都以 window 作为其 Global 对象,因此有权访问别的方法和属性    var age = 26;    functi ...

  7. 转 C#开发微信门户及应用(1)--开始使用微信接口

    微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为日常计划的重要事情之一了.本系列文章希望从一个循序渐进的角度上,全面介 ...

  8. centos7 更改语言

    vim /etc/locale.conf 修改 LANG="en_US.UTF-8"

  9. Python Standard Library 学习(一) -- Built-in Functions 内建函数

    内建函数列表 Built-in Functions abs() divmod() input() open() staticmethod() all() enumerate() int() ord() ...

  10. core文件找不到了

    开始以为是core文件太大,设置ulimit -c unlimited  以后,再次访问,显示 ./a.out Segmentation fault (core dumped) 但是却找不到这个文件的 ...