Android的Activity生命周期以及模式
Activity生命周期
Activity启动:onCreate()->onStrat()->onResume();
点击Home返回:onPause()->onStop() 新Activity如果为透明,不会调用onStop();
返回原Activity:onRestart()→onStart()→onResume()
退出当前Activity时:onPause()→onStop()→onDestroy()
当执行到onPause()方法Activity失去焦点时,重新回到前台会执行onResume()方法
当执行到onStop()方法Activity不可见时,再次回到前台会执行onRestart()方法,如果此时进程被销毁Activity会重新执行onCreate()方法。
两个Activity(A、B)切换(B是正常的Activity)的生命周期:onPause(A)->onCreate(B)->onStart(B)->onResume(B)->onStop(A)
。这时如果按back键回退到A,生命周期为:onPause(B)->onRestart(A)->onStart(A)->onResume(A)->onStop(B)。如果在切换到
B后调用了A.finish(),则会走到onDestory(A),这时点back键会退出应用。
两个Activity(A、B)切换(B是透明主题的Activity或是Dialog风格的Activity)的生命周期:onPause(A)->onCreate(B)-onStart(B)->onResume(B)。这时如果回退到A ,生命周期为:onPause(B)->onResume(A)->onStop(B)->onDestory(B)。
活动的启动模式
standard、singleTop、singleTask、singleInstance
standard:是活动默认的启动模式,每启动一个活动,都会在返回栈中入栈,不管活动是否已经在返回栈中存在,每次启动都会创建一个新的实例
singleTop:当要启动的Activity已经处于栈顶时,再启动相同活动,不会入栈,直接复用,同时它的OnNewIntent方法会被调用,通过方法的参数可以取出其中的信息。如果要启动的Activity不位于栈顶,则会创建一个新的实例
singleTask:每次启动该活动的时候系统会首先在返回栈中检查是否有存在该活动的实例,如果发现以及存在则直接使用该实例,保证整个栈只存在唯一一个活动实例,并且系统也会回调其OnNewIntent方法,即使不在栈顶,则把此活动之上的所有活动出栈。如果没有发现就会创建一个新的活动实例
singleInstance:具备singleTask模式的所有的特性,该模式下会启用一个新的单独的返回栈管理这个活动,可以实现程序间共享该活动
Android的Activity生命周期以及模式相关推荐
- Android笔记 activity生命周期 Tasks and back stack回退栈
正常打开一个应用,先后调用Activity的onCreate.onStart.onResume 正常退出一个应用,先后调用Activity的onPause.onStop.onDestroy(进程被杀死 ...
- HOME键窥探Android的Activity生命周期
HOME键窥探Android的Activity生命周期 好久没有写技术博客了,前两篇博客写的都是一些自己的所见所闻和心里感受,今天说一说Android中的Activity的生命周期,此篇文章使用HOM ...
- Android的Activity生命周期模拟程序及解析
当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理.当前活动的Activity位于栈顶.随着不同应用的运行,每个Activity都有可能从活动 ...
- 【Android】Activity生命周期
转载至:http://blog.csdn.net/liuhe688/article/details/6733407 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者 ...
- android开发------Activity生命周期
这几天工作比较忙,基本没有什么时间更新播客了. 趁着今晚有点时间,我们来简单说一下什么是Activity生命周期和它们各阶段的特征 什么是生命周期 在还没有接触android开发的时候,听到有人说Ac ...
- 监控android App Activity生命周期
说下场景: 1,监控当前应用生命周期 2,调试应用,接手一个庞大的应用,快速知道当前是那个activity ,或者 fragment(会在另一篇中讲) 3,如果你正常开发SDK ,当时你又想获取当前的 ...
- 【Android】Activity生命周期(亲测)
测试手机:Nexus 5 系统:4.4 一.测试 测试代码: 1 package com.example.androidalarm; 2 3 import android.app.Activity ...
- ios+android+次留,边做iOS边学Android(三):Activity生命周期+通信
边做iOS边学Android(一):新建一个project 边做iOS边学Android(二):认识几个常用的控件 趁着不忙赶紧多写点,鬼知道后面又有什么需求要忙... 这次就看一下Activity的 ...
- Android:Activity生命周期
2019独角兽企业重金招聘Python工程师标准>>> 参考: <第一行代码:Android> 郭霖(著) Activity所在的栈为后进先出(Last In First ...
最新文章
- php mongo 游标超时,游标在MongoDb游标上超时错误
- 参加Sun公司的新产品的发布会议
- net core 获取网站目录
- 前端开发 背景图 0229
- hive获取mysql里的文件_apache – 如何在hive中获取数据库用户名和密码
- 2012年十大项目月度得分榜
- 混合app用百分比还是rem_[笔记]em, rem最佳实践
- ArcEngine二次开发API之Bug集(一 )
- idea 安装热部署插件
- uni-app微信、支付宝小程序-银联支付
- matlab画图 横坐标为年月
- U-Net源码上实现自己数据集的分割任务
- Android实例开发中按钮(Button)的四种点击方式的实现
- 《三国空城计》何为真知己真智慧
- 回文数JavaScript
- 神经网络模型如何应用到实际 - 神经网络模型数学建模案例
- 宽带,猫,路由器的关系是什么?
- 《面试无忧》--DCL单例模式为什么要用volatile修饰?
- Windows载图软件 FastStone Capturev9.6
- 如何建立师资库_HR们如何建立人才库?