单击Android设备后退键,主屏幕键以及旋转屏幕如何影响Activity的生命周期

  • 单击设备的后退键,相当于通知Android系统“我已完成activity的使用,现在不需要它了。”接到指令后,系统立即销毁了activity。即调用onPause()->onStop()->onDestroy()
  • 单击主屏幕键,相当于通知Android“我去别处看看,稍后可能回来。”此时,为快速响应随时返回应用,Android只是暂停当前activity而并不销毁它。即调用onPause()->onStop(),但是并没有调用onDestroy()。

注意:停止的activity能够存在多久,谁也无法保证。如果系统需要回收内存,它将首先销毁那些停止的activity。

  • 设备旋转时,当前看到的activity实例会被系统销毁,然后创建一个新的activity实例。即onPause()->onStop()->onDestroy()->onCreate()->onStart()->onResume()。因为旋转设备会改变设备配置。设备配置是用来描述设备当前状态的一系列特征。这些特征包括:屏幕的方向、屏幕的密度、屏幕的尺寸、键盘类型、底座模式以及语言等等。
  • 想象一下存在一个会部分遮住当前activity界面的小弹出窗口。它出现时,被遮住的activity会被系统暂停(onPause()),用户也无法同它交互。小弹出窗口关闭时,被遮住的activity将会重新开始运行。
时间: 2024-10-23 17:21:40

单击Android设备后退键,主屏幕键以及旋转屏幕如何影响Activity的生命周期的相关文章

Android探究2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期

先给出结论:Dialog和AlertDialog并不会影响到Activity的生命周期,但会影响到Activity的优先级. 核心代码: onCreated中: Resources resources = this.getResources(); DisplayMetrics displayMetrics = resources.getDisplayMetrics(); final int widthPixels = displayMetrics.widthPixels / 2; final i

Activity的生命周期,BACK键和HOME键生命周期

Activity的生命周期模型在Google提供的官方文档上有比较详细的一个图示 public class HelloActivity extends Activity { public static final String TAG = "HelloActivity"; /** * 第一个被运行的方法 * 初始化页面 * Bundle恢复上次的状态 */ @Override public void onCreate(Bundle savedInstanceState) { super

Android开发艺术探索——第一章:Activity的生命周期和启动模式

Android开发艺术探索--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activity搬上来了,也确实,和Activity打交道的次数基本上是最多的,而且他的内容和知识点也是很多的,非常值得我们优先把他掌握,Activity中文翻译过来就是"活动"的意思,但是主席觉得这样翻译有些生硬,直接翻译成"界面"可能更好,的确,Activity主要也是用于UI效

Android开发之Activity的生命周期

路漫漫其修远兮,吾将上下而求索.---屈原<离骚> 可能很多人会感觉Activity很简单,但是经历了半年的android开发,我发现我对Activity的的理解还是比较浅显的,其实Activity并没有我们想象的那么简单今天花了一个下午学习了Activity的生命周期,为以后忘记后迅速回顾,做准备. 一.首先看下官网给出activity的生命周期图 我们可以从图中分析它的执行过程: 1.启动Activity:系统会首先调用onCreate方法,然后调用onStart方法,最后调用onResu

Android activity 详解一:activity的生命周期

一.概述: Activity是android的四大组件之一,是用户接口程序,它会提供给用户一个交互式的接口功能.它是 android 应用程序的基本功能单元,其实Android中的Activity运行机制跟servlet有些相似之处,Android系统相当于servlet容器,Activity相当于一个servlet,我们的Activity处在这个容器中,一切创建实例.初始化.销毁实例等过程都是容器来调用的 ,activity 本身是没有界面的.所以activity类创建了一个窗口,开发人员可以

【Android】11.1 Activity的生命周期和管理

分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为了专注于介绍某个知识点而有意忽略其他的实现细节,那就另当别论了. Android应用程序可自动创建.暂停.恢复.销毁Activity,下图是典型的Activity生命周期(虽然不同资料画的图不一样,但殊途同归,目的都是为了帮助理解): 要创建一个自定义的Activity,必须创建一个父类为Activ

Android系列教程之Activity的生命周期

通过上一节"Android系列教程之Android项目的目录结构"我们已经知道了什么是Activity,那么为什么我们创建一个Activity的导出类的时候为什么都要覆盖Activity的onCreate方法呢,为什么会在onPause()方法中保存一些当前Activity中的变化,要弄明白这些就要先了解Activity的生命周期,也就是一个Activity才开始到结束都要经过那些状态,下面通过一个例子了解Activity的声明周期. 一:Activity的生命周期方法 Android

跟着Google学Android —— 3.1 管好Activity的生命周期

当我们在app的不同页面间穿梭翱翔的时候,app中的Activity也在他们各自的生命周期中转换着不同的状态.当用户执行进入或者是离开某个Activity的操作时,Android系统会调用一系列生命周期的回调函数进行处理,而我们也可以重写这些回调函数,让Activity在不同的状态下执行我们想要的操作. 生命周期回调方法 下图展示了一个Activity的生命周期以及回调方法.这张图看起来就像是一个梯形金字塔,每一步都对应着Activity的一种生命状态. 在这些状态中,只有如下三种状态是静态的,

4、Android Activity的生命周期 Activity的生命周期

1.完整生命周期 上图是Android Activity的生命周期图,其中Resumed.Paused.Stopped状态是静态的,这三个状态下的Activity存在时间较长. (1)Resumed:在此状态时,用户可以与Activity进行交互,Activity在最前端 (2)Paused:在此状态时,Activity被另外一个Activity遮盖,此Activity不可接受用户输入信息.另外一个Activity来到最前面,半透明的,但并不会覆盖整个屏幕. (3)Stopped:在此状态时,A