android onstart用法,关于android:在Activity生命周期中再次使用:onStart在不应该被调用时被调用..._咦呀咦呀哟的博客-程序员宝宝

技术标签: android onstart用法  

首先,我阅读了有关活动如何开始,暂停,继续和停止的精彩解释。 很好,但是我还有另一个问题。

Android参考中的Activity生命周期图表明,如果我调用另一个活动,则将为调用的活动调用onPause(),稍后,当另一个活动结束时,调用者将通过onResume()恢复。

因此,如果第一个活动是Main,另一个活动是Other,则周期将如下所示(伪代码):

Main.onCreate()

Main.onStart()

Main.onResume()

// Main is running...  Then, the user clicks a button and Other comes in front.

Main.onPause()

Other.onCreate()

// Other's lifecycle goes here... Finally, the user returns back.

Main.onResume()

// Main is running again.

该图说明了这一点。 但是我的Main首先获取onStart(),然后获取onResume()。

这是为什么? 我会误会吗?

发生这种情况是因为您的Main活动从视图中完全消失了,这会触发onStop,并在您恢复时触发OnStart。 如果您仅从Main中隐藏了一部分视图,则只会获得onResume。

如果您查看该图,在onPause和onStop之间,会出现此"活动不再可见"的信息……这就是您所遇到的。

为了快速参考,活动生命周期图形:

b1a8d681d644ffe29e6add5b1e8c8d9d.png

感谢您提醒您查看图表。 我总是忘了检查一下。 解决了我的问题。

onStart()被主应用程序调用的原因之一是您的Main活动正在停止。 那就是它的onStop()被调用。 在这种情况下,首先将调用onStart(),然后调用onResume()。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42347486/article/details/117660172

智能推荐

ant 警告:sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在将来版本中删除_赶路人儿的博客-程序员宝宝

ant 警告:sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除ant 警告:sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除编译时加入bootclasspath="${java.home}/lib/rt.jar" 即可。

用栈实现表达式转换(中缀转后缀、中缀转前缀)-----栈和队列的应用2_若年封尘的博客-程序员宝宝

中缀转后缀将输入的字符串从左到右扫描;若当前字符是操作数则直接打印;若当前字符是运算符,先判断栈是否为空,若是,则直接将此操作符压入栈;若不是,则查看栈顶运算符,若当前运算符优先级<=栈顶运算符优先级,就把栈顶运算符出栈并写入当前得到的结果表达式。循环这个过程,直到当前运算符优先级>栈顶运算符优先级,则将扫描到的运算符入栈;若当前字符是左括号则直接压入栈;若当前栈顶运算符是...

阿里云中间件推出全新开发者服务_weixin_33869377的博客-程序员宝宝

2019独角兽企业重金招聘Python工程师标准>>> ...

简单免费内网穿透教程,利用树莓派实现低成本建站 无需公网_小锦鲤-的博客-程序员宝宝

很多人都想试试自己建站玩一玩 (比如博客、自建网盘、远程下载等),但家里宽带没公网 IP,特意买台服务器又显得浪费。那么有没成本小、可玩性高、又能长期稳定使用的方案呢?其实,免费的内网穿透工具 (如网云穿) + 树莓派,即可利用家里宽带来搭建运行各种好玩的网站程序,跑一些自用网络服务再适合不过了。树莓派价格便宜、功耗小、功能强大;而网云穿则能免费帮你实现内网穿透,让没有公网 IP 的树莓派也能在外网上直接访问……由于电信联通等大多数普通宽带都不提供公网 IP 地址,别人无法通过互联网直接访问到你家中

SAP HANA install“FAIL: process hdbpreprocessor HDB Preprocessor not running”_DBA_JohnHuang的博客-程序员宝宝

SAP HANA install“FAIL: process hdbpreprocessor HDB Preprocessor not running”问题描述错误信息安装环境问题排查错误原因处理步骤1.下载并安装rpm包2.关闭数据库3.重新安装检查问题描述错误信息使用hdbinst命令安装后,出现如下错误提示安装环境操作系统版本:Oracle linux 6.8CPU:8内存:...

python dicom传输_python读取dicom文件_几木木的博客-程序员宝宝

下面是MarchingCubes的例子 C++ Tcl //得到图像文件 vtkDICOMImageReader *Reader = vtkDICOMReader::New(); Reader ->SetDirectoryName(""); Reader ->Update()......1/2 相关文档推荐 DICOM医学图像文件格式 6页 免费 DICOM图像文件解析及程序... 4...

随便推点

The PLC and Automated Test ----转载_difang1303的博客-程序员宝宝

Software Test Automation and the Product Life Cycleby Dave Kelly, Symantec Corporation Implementing software test in the product life cycleThe PLC and Automated TestA product's stages...

Linux下安装mysql5.7进行远程连接_mysql5.7 远程连接_Ez4Sterben的博客-程序员宝宝

1、首先下载linux系统的mysql下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads2、将下载好的mysql上传到linux中输入rz指令选择下载好的mysql压缩包rz如果是在Xshell上操作直接拖入即可3、解压首先看下载好的mysql压缩包的名字.tar格式的输入指令tar -xvf this.tar //this是mysql文件的名字 .tar.gz格式的输入指令tar -xzvf this.ta

C语言结构体_struct_1_纸带的博客-程序员宝宝

参考总结1.C语言结构体详解,C语言struct用法详解引出struct要从数组(array)开始讲起,array数组是储存相同类型数据的集合,但在实际的编程过程中,还需要不同类型数据的组合。在C语言中,可以使用struct存放一组不同类型的数据,结构体的定义形式:struct 结构体名{ //结构体所包含的变量或数组};例1struct stu{ char *name; //姓名 int num; //学号 int age...

python IO 文档读写_simple1_6的博客-程序员宝宝

文件读写分为如下几个步骤:打开文件:open(‘文件路径和文件名’,’参数’) 例如:打开一个路径为:F:\python\table.md 文件,只读,则代码为:f=open('F:\python\\table.md','r') 其中\一个是转义字符。调用读方法(read())或者写方法(write()):f.read( )使用close()关闭文件。 为了保证文件被成功关闭:使用...

USACO--1.2Name That Number_acm_lkl的博客-程序员宝宝

题意还是很简单的,我们可以用dfs穷举出所有可能的名字;重要的是查询名字是不是合法,开始的时候用的map,没想到超时了;于是后面用的字典树,其实应该也可以用二分进行查找。另外好像USACO对内存限制很严,数组不能开太大。代码如下:/*ID: 15674811LANG: C++TASK: namenum*/#include<iostream>#include<cstdio>#include

Hibernate概述_hibernate概述是什么_玉爷~的博客-程序员宝宝

什么是Hibernate?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Se...

推荐文章

热门文章

相关标签