博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android第七节活动的生命周期
阅读量:4579 次
发布时间:2019-06-08

本文共 1319 字,大约阅读时间需要 4 分钟。

创建三个活动,一个主活动MainActivity,两个按钮,分别打开另外两个活动,第一个活动是一个文本NormalActivity,第二个是一个对话框DialogActivity。

官方图片

只有主活动有标记信息

第一个活动被创建会依次执行

onCreate()onStart()onResume()

按下第一个按钮

按下第一个按钮打开NormalActivity把MainActivity完全遮挡住,因此会执行

onPause()onStop()

先把MainActivity暂停然后再停止。

按下返回键

会执行

onRestart() onStart()onResume()

之前MainActivity进入了停止状态,onRestart恢复

然后依次执行 onStart onResume方法。

onCreate方法并不会执行,因为MainActivity并没有被重新创建,创建一次就可以了。

按下第二个按钮

然后按第二个按钮进入DialogActivity对话框活动

onPause()

只出现了onPause,没有出现onStop,因为DialogActivity并没有遮挡住MainActivity,对话框只是浮在上面,此时的MainActivity只是进入了暂停状态,并没有进入停止状态。

按下返回键
onResume()

这时回到MainActivity

再按一下back
onPause()onStop()onDestroy()

活动结束,销毁掉。

后台切换一下执行
onPause() onStop()
回到原来的程序执行
onRestart()onStart()onResume()

所有活动都有标记信息

按下第一个按钮执行

onPause() Nor_onCreate()Nor_onStart()Nor_onResume()onStop()

先把MainActivity暂停,然后创建并启动NormalActivity,最后再将MainActivity停止。

按下返回键
Nor_OnPause()OnRestart()OnStart()OnResume()Nor_OnStop()Nor_OnDestroy()

立马将当前NormalActivity活动暂停,然后重新启动始被停止的MainActivity,最后将NormalActivity暂停再摧毁。

按下第二个按钮执行

OnPause()Dia_OnCreate()Dia_OnStart()Dia_OnResume()

不会有执行onStop() 因为对话框是浮在第一个活动上的 第一个活动并没有停止

在空白处点击使对话框消除
Dia_OnPause()OnResume()Dia_OnStop()Dia_OnDestroy()

将DialogActivity活动先暂停,然后恢复处于暂停的MainActivity,最后DialogActivity停止,销毁。

此时处于MainActivity

按下返回键
OnPause()OnStop()OnDestroy()

转载于:https://www.cnblogs.com/pjc20/p/7707686.html

你可能感兴趣的文章
Vue避免 v-if 和 v-for 用在一起
查看>>
TraceSource记录程序日志
查看>>
【Source教程】GCFScape下载安装与使用
查看>>
数据结构 单链表反转 回顾练习
查看>>
N!分解素因子及若干问题
查看>>
主动对象
查看>>
C++ string int 转换 split
查看>>
网站繁简切换的JS遇到的一个BUG
查看>>
Docker容器技术
查看>>
五秒后页面自动跳转
查看>>
压力测试、负载测试、性能测试
查看>>
牛客网 反序相等题解
查看>>
分布式版本控制系统Mercurial(二):web server的架设
查看>>
用php做管理后台
查看>>
Linux下Java程序运行环境搭建及相关配置【JDK+Tomcat+MySQL】
查看>>
python3基础系列之六【python推导式】
查看>>
YAML格式介绍
查看>>
JAVA常用工具【一】
查看>>
JAVA快速开发项目汇总
查看>>
Gitblit服务器搭建【基于windown系统】
查看>>