首页
学习
活动
专区
圈层
工具
发布

android之activity的生命周期详解

三个方法,看一下LogCat视窗如下:   BACK键:   当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法...,如下图所示:   HOME键:   当我们打开应用程序时,比如浏览器,我正在浏览NBA新闻,看到一半时,我突然想听歌,这时候我们会选择按HOME键,然后去打开音乐应用程序,而当我们按HOME的时候,...,当我们按HOME键,然后再进入ActivityDemo应用时,我们的应用的状态应该是和按HOME键之前的状态是一样的,同样为了方便理解,在这里我将ActivityDemo的代码作一些修改,就是增加一个...HOME键时,我在onPause方法里,将输入的值赋给mString @Override protected void onPause() { super.onPause...HOME键时,再次启动应用程序时,EditText里有上次输入的”Frankie”字样,如下图如示:   OK,大功基本告成,这时候大家可以在回上面看一下Activity生命周期图,我想大家应该完全了解了

87220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android基础_1 四大基本组件介绍与生命周期

    当用户按下BACK 键的时候,当前activity 出栈,而前一个恢复为当前运行的activity。...当用户按下HOME 键的时候,回到了应用程序加载器,然后选择了一个新的应用程序(也就是一个新任务)。则当前任务遁入后台,而新任务的根activity 显示出来。...当用户按下BACK 键的时候,屏幕不会显示出用户刚才离开的activity(上一个任务的根activity)。...HOME键,按下电源按键关闭屏幕,横竖屏切换情况下),你应该仅重写onSaveInstanceState()来记录activity的临时状态,而不是持久的数据。...的时候Activity的生命周期不会有改变 Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState --> onPause --> onStop,再次进入激活状态时

    2.2K30

    AndroidStdio1_5

    这时候你可能会问,如果用户在SecondActivity中并不是通过点击按钮,而是通过按下Back键回到FirstActivity,这样数据不就没法返回了吗?...这样的话,当用户按下Back键,就会去执行onBackPressed()方法中的代码,我们在这里添加返回数据的逻辑就行了。...栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。...而每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。...比如在onStart()方法中对资源进行加载,而在onStop()方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多内存。 ❑ 前台生存期。

    88230

    Android 四大组件学习之Activity六

    按钮,并且按get按钮 当然了,这时候按back按钮,当再次进入后,会发现输入框里没有内容,同时按get得到为0.0 同时第一种情况中我的打印Log.i("FiveActivity", "onSaveInstanceState...");始终也是没有打印 接着第二种情况: 当我们set后,再按get后。...这次不按Back键,这次按Home键: 当我们按Home键后,我们的Activity就处于stop状态,这时候我们的打印语句出现了 这时候我们手动杀死FiveActivity 这时候在启动Activity...所以当我们Home出去时就会打印出现,至于我们的变量为啥没有恢复,很明显那是因为没人保存它的值,这就得需要我们程序员自己手动保存。...同时, 除系统资源不足时,或者手机的屏幕方向变化时,改变语言时,都会导致Activity重现销毁,然后重现再创建。这时候如果我们不保存需要保存的数据,也会出现不对的情况。

    43110

    从0系统学Android-2.4 Activity 的生命周期

    这个栈也被称为返回栈(Back Task)。 栈是一种后进先出的数据结构,默认情况下,每当我们启动一个新的 Activity,这个 Activity 就会在返回栈中入栈,并且处于栈顶的位置。...每当我们按下 Back 键或者调用 finish 方法后就会销毁一个 Activity。处于栈顶的Activity 就会出栈,这是前一个入栈的 Activity 就会重新处于栈顶的位置。...比如在 onStart() 方法中对资源进行加载,而 onStop() 方法中对资源进行释放,从而保证处于停止状态的 Activity 不会占用过多的内存。...然后按下 Back 键,返回到 MainActivity ,打印信息: MainActivity:onRestart MainActivity:onStart MainActivity:onResume...比如:应用中有一个 Activity A,用户在 A 的基础上启动了 Activity B ,这个时候 A 进入了停止状态,由于系统内存不足,A 被回收了。然后用户按下了 Back 键返回 A 。

    52720

    Android之Activity生命周期浅析(一)「建议收藏」

    Paused: 当Activity失去焦点时,或被一个新的非全屏的Activity,或被一个透明的Activity放置在栈顶时,Activity就转化为Paused状态。...onPause : 此方法被回调时则表示Activity正在停止(Paused形态),一般情况下onStop方法会紧接着被回调。...按如上操作运行截图: 我们在Activity创建完成后,点击Home回调主界面时,可以发现此时onPause方法和onStop方法被执行,也就是点击Home键回到主界面(Activity不可见...)–>onPause()–>onStop()依次被调用 3.当我们点击Home键回到主界面后,再次点击App回到Activity时,调用结果如下: 我们可以发现重新回到Activity时,...5 当我们点击Back键回退时,回调结果如下: 从Log我们可以看出,当点击Back键回退时,相当于退出了当前Activity,Activity将被销毁,因此 退出当前Activity

    71810

    Android开发:Activity 生命周期详解

    当启动其他的Activity时这个当前的这个Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。...都知道栈是先进后出的原则,那么当用户按Back键时,当前的这个Activity销毁,前一个Activity重新恢复。...键和Home键的区别 在上述运行状态下,分别点击界面的Back按钮和Home键,再次查看控制台输出 Back键: image.png Home键: image.png 这两者的区别显而易见了,点击Back...按钮后,此Activity会经历 pause->stop->destroy 此Activity弹出栈,程序销毁。...但是点击Home键,Activity并不会被立即销毁 后记 大家还可以尝试旋转屏幕、锁屏等后的Activity的状态,本文就不一一列举了 我的学习代码托管在Github上,链接为: 点我 参考资料 Activity

    75410

    Matplotlib 中文用户指南 7.1 交互式导航

    以下是工具栏底部的每个按钮的说明: Home(首页)、Forward(前进)和Back(后退)按钮: 这些类似于 Web 浏览器的前进和后退按钮。 它们用于在之前定义的视图之间来回浏览。...对于Home,Forward和Back,应该将其看做 Web浏览器,其中的数据视图是网页。 使用Pan和Zoom来定义新视图。 Pan/Zoom(平移/缩放)按钮 此按钮有两种模式:平移和缩放。...单击工具栏按钮激活平移和缩放,然后将鼠标放在轴域的某个地方。 按住鼠标左键并将其拖动到新位置来平移图形。 当你释放它时,你按下的点处的数据将移动到你释放的点。...+ w 将平移/缩放限制于x轴 使用鼠标平移/缩放时按住x 将平移/缩放限制于y轴 使用鼠标平移/缩放时按住y 保留宽高比 使用鼠标平移/缩放时按住CONTROL 切换网格 鼠标在轴域上时按下g 切换...x轴刻度(对数/线性) 鼠标在轴域上时按下L或k 切换y轴刻度(对数/线性) 鼠标在轴域上时按下l 如果你使用matplotlib.pyplot,则会为每个图形自动创建工具栏。

    3.1K20

    Android Activity的生命周期和启动模式详解

    按键对生命周期的影响: BACK键: 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法。...再次启动App时,会执行onCreate()->onStart()->onResume() HOME键: 当我们打开应用程序时,比如浏览器,我正在浏览NBA新闻,看到一半时,我突然想听歌,这时候我们会选择按...HOME键,然后去打开音乐应用程序,而当我们按HOME的时候,Activity先后执行了onPause()->onStop()这两个方法,这时候应用程序并没有销毁。...standard模式是所启动的Activity都是在同一个task容器栈下,不会重新创建新的task容器栈。...比如,在用户按下Home键,它将被调用。比如有电话进来(不属于用户的选择),它就不会被调用。 那么系统如何区分让当前activity退到background时使用是用户的选择?

    1K10

    探究活动Activity(2)界面跳转及生命周期

    2.1活动状态 活动有四种状态:运行状态、暂停状态、停止状态、销毁状态。 Activity类中定义了7个回调方法,覆盖了活动生命周期的每一个环节,下面详细介绍一下这7个方法。...执行onPause()方法,因为FirstActivity没有被完全覆盖所以不会执行onStart()方法。 这个时候我们点一下BACK返回到FirstActivity界面,会执行那些方法呢?...如果我们这个时候按home键会怎么样呢? ? 按home键返回手机主桌面,此时程序只是被挂起来在后台执行,并没有销毁,所以会执行onPause()和onStop()方法。...看一下 ? 有没有发现很熟悉,没错,这个和我们在SecondActivity界面返回到FirstActivty界面时执行的方法一样,不信你回头去看。...注意看和刚才FirstActivity跳转SecondActivity所执行的方法是一样的,那么我们在SecondActivity页面按BACK键返回到FirstActivity和用页面按钮跳转会是一样的吗

    1.4K20

    Jetpack组件之Navigation

    使用Toolbar时,Navigation组件会自动处理导航按钮的点击事件,因此无需覆盖onSupportNavigateUp()。...当用户从深层链接页面按下返回按钮时,他们会返回到相应的导航堆栈。 我们使用NavDeepLinkBuilder类构造PendingIntent。...如果该标记未设置,您仍会位于触发隐式深层链接时所在的上一个应用的任务堆栈中。在这种情况下,如果按下返回按钮,您会返回到上一个应用;如果按下向上按钮,就会在导航图中的父级目的地上启动应用的任务。...arg={arg}"/> 注意: 没有架构的 URI 会被假定为 http 或 https。 形式为 {params} 的路径参数占位符与一个或多个字符相匹配。...多余的查询参数不会影响深层链接 URI 匹配。 启用隐式深层链接,还需要向应用的manifest文件中添加nav-graph标签。

    3.6K20

    笔记59 | Android管理音频焦点的学习

    短暂的焦点锁定:当计划播放一个短暂的音频时使用(比如播放导航指示)。 永久的焦点锁定:当计划播放一个较长但时长可预期的音频时使用(比如播放音乐)。...下面的代码片段是一个在播放音乐时请求永久音频焦点的例子,我们必须在开始播放之前立即请求音频焦点,比如在用户点击播放或者游戏中下一关的背景音乐开始前。...如果有另一个应用像上述那样请求音频焦点,它所请求的永久音频焦点或者短暂音频焦点(支持Ducking或不支持Ducking),都会被你在请求获取音频焦点时所注册的监听器接收到。...失去永久焦点:假设另外一个应用开始播放音乐,那么我们的应用就应该有效地将自己停止。...在实际场景当中,这意味着停止播放,移除媒体按钮监听,允许新的音频播放器可以唯一地监听那些按钮事件,并且放弃自己的音频焦点。

    2.6K90

    Android入门教程之Activity(生命周期,启动...)

    谈一下返回栈 首先理解android是使用Task来管理活动,一个Task就是一组存放在栈里的活动的集合,这个栈就叫做返回栈,每启动一个新的活动,就会将其放入栈顶,当我们点击back回退或调用activity...onPause->onStop->onRestart->onStart->onResume 当一个Activity按back键回退时回调哪些方法 onPause->onStop->onDestory Activity...当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState() 会被调用,该方法的调用在onStop之前,与onPause没有时序关系...但是当用户主动去销毁一个Activity时,例如在应用中按返回键,onSaveInstanceState()就不会被调用。因为在这种情况下,用户的行为决定了不需要保存Activity的状态。...onSaveInstanceState()时机: (1)用户按下Home键 (2)横竖屏切换 (3)按下电源按钮(关闭屏幕显示) (4)内存不足导致优先级的Activity被杀死 onRestoreIntanceState

    2.1K00

    (译)SDL编程入门(21)音效和音乐

    键被按下时,我们播放一个声音效果。...我们希望每次按下按钮时只播放一次,所以我们让它重复0次。 这里的通道和硬件通道不一样,硬件通道可以代表立体声系统的左、右通道。每一个被播放的声音效果都有一个与之相关的通道。...当你想暂停或停止一个正在播放的效果时,你可以停止它的通道。...当按下9号键时,我们首先用Mix_PlayingMusic[13]检查音乐是否没有播放。如果没有,我们就用Mix_PlayMusic[14]开始播放音乐。...当按下0时,如果音乐正在播放,我们使用Mix_HaltMusic[18]停止音乐。 在 这里[19]下载本教程的媒体和源代码。 原文链接[20] 「关注我的公众号:编程之路从0到1」 ?

    1.5K20

    测评 | 我们帮你测试了 Google Home,它会是你想要的完美助手吗?

    1、在背景噪音干扰下接收信息的能力 通过其他设备播放音乐造成背景噪音,提出诸如「你怎么样」、「可以播放一段音乐吗」、「停止播放」等问题和指令都可以迅速得到回答和反应。...,Google Home 的回答包括今天当下的天气、温度情况,以及晚上的天气如何。当我们接下来问「明天呢?」,Google Home 没有做出任何反应。...3、是否能被打断 在 Google Home 给出答案和建议的过程中,只要用「Hey Google」开始提问,Google Home 都会迅速停止转换为聆听状态。...当我们让他播放「最新的独立(Indie Music)音乐」时,它播放的是 R&B,大概被理解成了「最新的音乐」。是否会说中文?...不过有一位朋友表示,曾在拥抱着女友的情况下对 Google Home 说「Hey Google play Waltz」,两人便跳起舞来,又通过「Turn the volume to the Max」调高音乐

    1.3K50

    Android-活动的生命周期(二)

    观察活动的生命周期 启动时 依次执行onCreate(),onStart(),onResume()。...按下Back返回MainActivity 由于之前MainActivity进入停止状态,所以onRestart()执行,又会依次执行onStart()和onResume(),但onCreate()不会执行...点击第二个按钮,启动DialogActivity onPause()执行,onStop没有执行,因为DialogActivity没有完全遮挡MainActivity,只是进入暂停状态, 相应按下Back...按下Back退出程序 依次执行onPause(),onStop(),onDestroy()方法,最终销毁MainActivity。...活动被回收怎么办 当一个活动进入停止状态,有可能被系统回收,那么当有一个活动A,在A基础上启动了活动B,A进入停止状态,这时由于系统内存不足,A被回收掉,这时按下Back键还是会正常显示A,但是不会执行

    69920
    领券