从android api文档摘抄出来的activity生命周期图如下:

Activity有如下四种状态

a、活动状态  activity处于屏幕前台,获取到了焦点可以和用户进行交互,同一时刻只有一个activity处于活动状态

b、暂停状态  activity可视但失去焦点(被其它activity部分遮盖或者处于透明activiy下)

c、停止状态  activity完全被另外一个activity遮挡,但保留用户状态信息d、非活动状态  activity尚未启动或者已经被手动终止或者由于内存不足被系统回收

 

activity生命周期中重要的方法

a、oncreate 加载布局文件,绑定各类监听事件

b、onstart 界面可见但未能获取焦点,不能与用户交互

c、onrestart 当activity执行过onstop方法,再进行启动时候会调用

d、onresume 界面可见且能获取到焦点,能与用户交互

e、onpause 界面失去焦点,但可视

f、onstop 当activity完全不可视

g、ondestroy 手动调用finish或者内存不足系统回收

举例说明activity各个方法切换,新建A,B,C三个activity,其中B设置成透明

a、启动主页面A,onCreate(A)- onStart(A) - onResume(A)

b、打开透明B,onPause(A)-onCreate(B)- onStart(B) - onResume(B)

c、点击back按钮回到页面A,onPause(B)- onResume(A)- onStop(B)- onDestroy(B)

d、打开全屏页面C,onPause(A) - onCreate(C)- onStart(C) - onResume(C)- onStop(A)

e、再次点back按钮,onPause(C)- onRestart(A)- onStart(A) - onResume(A)- onStop(C)- onDestroy(C)

f、再点击back onPause(A)- onStop(A)- onDestroy(A)

onSaveInstanceState和onRestoreInstanceState方法

a、当activity非正常(比如按home键或者跳转下一个页面)退出后,会在调用onPause之后调用onSaveInstanceState保存临时状态,以便在onCreate或者onRestoreInstanceState恢复状态

b、调用onSaveInstanceState和调用onRestoreInstanceState非对称,也就是调用了onSaveInstanceState方法,再返回不会调用onRestoreInstanceState方法

c、onRestoreInstanceState会在onresume之前被调用,当栈顶activity B异常退出,会激活栈中第二个activity A,这时会触发A的onRestoreInstanceState方法;或者当横竖屏转化时候也会触发oncreate和onRestoreInstanceState方法

Android Activity生命周期的更多相关文章

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

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

  2. Android Activity生命周期详讲

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

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

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

  4. Android Activity生命周期以及Fragment生命周期的区别与分析

    Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() ...

  5. Android Activity 生命周期详解

    学习android开发这么久对于activity的生命周期还没有仔细思考过,所以,我大致的把这些东西整理一下,希望通过这使自己理解的更透彻点吧! 首先看一下Activity生命周期图和它的的四个阶段 ...

  6. xamarin Android activity生命周期详解

    学Xamarin我为什么要写这样一篇关于Android 的activity生命周期的文章 已经学Xamarin android有一段时间了,现在想起当初Xamarin也走了不少的弯路.当然Xamari ...

  7. Android——Activity生命周期(转)

    Activity生命周期   子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细 ...

  8. Android Activity生命周期的几个问题

      每一个Android开发者都应该知道,android系统有四个重要的基本组件,即Activity(活动).Service(服务).Broadcast Receive(广播接收器)和Content ...

  9. android --Activity生命周期具体解释

    一. 再探Activity生命周期 为了研究activity的生命周期,简单測试代码例如以下. package com.example.testactivity; import android.app ...

随机推荐

  1. Canvas 实现图片剪切

    用户上传头像然后截图的需求很常见,很多做法是把图像发送到后端,把裁剪后的结果发送给浏览器,这种方式会增加处理时延.最近正好学习了HTML5里的canvas,发现它的图片处理功能比较强大,就打算用can ...

  2. linux命令(1):ls命令

    ls命令是linux下最常用的命令. ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看lin ...

  3. Android Studio插件整理

    摘录于习惯沉默的Blog  https://ydmmocoo.github.io/2016/06/28/Android-Studio%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90% ...

  4. Button四角有弧度及按下显示不同的颜色

    一般的button都是矩形或者正方形,但为了显示不同的效果,让界面更美化,可以对其进行处理!!! 1.四角有弧度的button 2.按下button显示不同的颜色 实现步骤: 首先在drawable文 ...

  5. jQuery停止动画——stop()方法的使用

    很多时候需要停止匹配元素正在进行的动画,比如,当鼠标选入元素时显示菜单,鼠标离开时隐藏下拉菜单,如果鼠标移入移出过快的话就会导致动画效果与鼠标的动作不一致的情况,此时stop()就派上用场了. sto ...

  6. JavaWeb 学习003-简单登录页面功能实现

    先说下题外话:学习不是看你学了多久,重点是学到多少: 这就要求   效率.我在这三个小时,但是有效率的又有多久?只是做了这么一点简单的事. 登录页面 跟数据库交互,进行判断是否登陆成功.我只是实现了一 ...

  7. 自定义View(三)实现简单的可拖动、可缩放的ImageView

    实现技术主要用到1.多点触摸  2.matrix的矩阵,平移.缩放 根据手指的数量判断是进行的拖动.还是缩放动作 package com.bi.xintest; import android.cont ...

  8. MVC 过滤器 构建会员是否登录

    使用环境:在后台管理或者前台有会员中心的情况下使用 使用方式:这是一个用户中心的控制器 我给用户中心主页增加一个特性 [AccountFilter]这是一个过滤器的名字 public class Ac ...

  9. MVC中获取模型属性的Range和StringLength验证特性设置

    MVC中的客户端及服务端模型验证信息都以ModelMetadata类型作为承载,在获得属性的ModelMetadata之后(还不知道怎么获取ModelMetadata的童鞋请自行恶补),我们可以轻松得 ...

  10. 深入浅出: Java回调机制(异步)

    一.什么是回调 回调,回调.要先有调用,才有调用者和被调用者之间的回调.所以在百度百科中是这样的: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步调用. 回调 ...