首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
android
json
phonegap
android-studio
webview
apk
dialog
xml
build
crash
eclipse
java
当前位置:
开发笔记
>
Android
> 正文
android横竖屏切换时候Activity的生命周期
作者:发酵床养殖菌种 | 来源:互联网 | 2022-05-12 05:23
曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期。现在给大家分析一下他切换时具体的生命周期是怎么样的
1、新建一个Activity,并把各个生命周期打印出来
2、运行Activity,得到如下信息
onCreate-->
onStart-->
onResume-->
3、按crtl+f12切换成横屏时
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
5、修改AndroidManifest.xml,把该Activity添加
android:cOnfigChanges="orientation",执行步骤3
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
6、再执行步骤4,发现不会再打印相同信息,但多打印了一行onConfigChanged
onSaveInstanceState-->
onPause-->
onStop-->
onDestroy-->
onCreate-->
onStart-->
onRestoreInstanceState-->
onResume-->
onConfigurationChanged-->
7、把步骤5的android:cOnfigChanges="orientation" 改成
android:cOnfigChanges="orientation|keyboardHidden",执行步骤3,就只打印
onConfigChanged
onConfigurationChanged-->
8、执行步骤4
onConfigurationChanged-->
onConfigurationChanged-->
总结:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,
切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:cOnfigChanges="orientation"时,切屏还是会重新调
用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:cOnfigChanges="orientation|keyboardHidden"时,
切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
总结一下整个Activity的生命周期
补充一点,当前Activity产生事件弹出Toast和AlertDialog的时候Activity的生命
周期不会有改变
Activity运行时按下HOME键(跟被完全覆盖是一样的):onSaveInstanceState -->
onPause --> onStop onRestart -->onStart--->onResume
Activity未被完全覆盖只是失去焦点:onPause--->onResume
android
xml
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
xml
Android AndEngine 游戏启动画面中移除广告
本文探讨了如何在游戏启动画面中移除广告,特别是在游戏数据加载期间(大约5-6秒)广告会短暂显示的问题。通过调整XML布局和代码逻辑,可以实现广告的延迟加载或完全移除。 ...
[详细]
蜡笔小新 2024-11-18 14:28:27
xml
Vulnhub DC3 实战记录与分析
本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ...
[详细]
蜡笔小新 2024-11-17 20:50:03
xml
在Android中调用其他应用的Activity
本文介绍了如何在Android应用中通过Intent调用其他应用的Activity,并提供了详细的代码示例和注意事项。 ...
[详细]
蜡笔小新 2024-11-17 17:53:47
java
2023年最新Linux环境下Android开发环境搭建指南
2023年最新Linux环境下Android开发环境搭建指南,帮助Android开发者在Linux系统上快速搭建开发环境,解决常见的配置问题。 ...
[详细]
蜡笔小新 2024-11-17 16:23:32
build
解决Android引导页图片拉伸问题的方法
本文介绍了一种通过设置主题(Theme)来实现快速启动的Android引导页,并详细说明了如何避免因不同屏幕分辨率导致的图片拉伸问题。 ...
[详细]
蜡笔小新 2024-11-17 14:34:25
java
实现滑动界面及过渡动画的方法
本文介绍了如何使用 Gesture Detector 和 overridePendingTransition 方法来实现滑动界面和过渡动画。 ...
[详细]
蜡笔小新 2024-11-17 07:45:07
java
利用ChkBugReport工具分析Android Bugreport
本文介绍了如何使用开源工具ChkBugReport来解析和分析Android设备的Bugreport。ChkBugReport能够将复杂的Bugreport转换为易于阅读的HTML报告,并提供详细的图表和分析结论。 ...
[详细]
蜡笔小新 2024-11-16 19:02:02
build
在Linux中获取库源码及编译软件时如何收集依赖项
本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ...
[详细]
蜡笔小新 2024-11-17 20:34:02
java
Spring框架中UserLogDao Bean未定义异常分析与解决
本文详细探讨了Spring框架中遇到的NoSuchBeanDefinitionException异常,具体涉及com.thinkplatform.dao.UserLogDao Bean未定义的问题,并提供了相应的解决方案。 ...
[详细]
蜡笔小新 2024-11-17 17:16:33
xml
如何在Node.js中拦截Axios发出的AJAX请求?
本文探讨了如何在Node.js环境中拦截由Axios库发出的AJAX请求,并提供了详细的解决方案。 ...
[详细]
蜡笔小新 2024-11-17 15:35:30
java
求助:JS代码无法实现预期效果,求大佬指正
我编写了一段JavaScript代码,但未能达到预期效果。希望各位高手能帮我找出问题所在。 ...
[详细]
蜡笔小新 2024-11-17 14:49:14
java
MapReduce 中的输入输出格式控制
本文介绍了如何在 MapReduce 作业中使用 SequenceFileOutputFormat 生成 SequenceFile 文件,并详细解释了 SequenceFile 的结构和用途。 ...
[详细]
蜡笔小新 2024-11-17 14:43:42
java
Spring Boot与Graylog集成实现微服务日志聚合与分析
本文介绍了如何在Graylog中配置输入源,并详细说明了Spring Boot项目中集成Graylog的日志聚合和分析方法,包括logback.xml的多环境配置。 ...
[详细]
蜡笔小新 2024-11-17 11:47:30
java
mybatis 详解(七)一对一、一对多、多对多
mybatis详解(七)------一 ...
[详细]
蜡笔小新 2024-11-17 10:03:06
xml
SharePoint List的List Template ID明细表
编写SharePoint的EventReceiver需要用到ListTemplateID来进行绑定,下面的列表对于编程和排查错误都是个很好的索引.Listtem ...
[详细]
蜡笔小新 2024-11-17 00:31:53
发酵床养殖菌种
这个家伙很懒,什么也没留下!
Tags | 热门标签
android
json
phonegap
android-studio
webview
apk
dialog
xml
build
crash
eclipse
java
RankList | 热门文章
1
【转载】jdk-6-doc安装失败的解决办法
2
angular 居中_垂直居中的N种方法
3
(五)springcloud微服务分布式云架构云架构代码结构构建
4
git 删除右键菜单项
5
关于this的又一个问题
6
《咏露》翻译 原文赏析诗人唐董思恭
7
[bzoj2662][BeiJing wc2012]冻结——分层图最短路
8
Add a new lint `ptr_as_ptr`
9
Eureka 源码解析 —— 应用实例注册发现(八)之覆盖状态
10
如何在 C# 中创建异步方法?
11
华为手机锁屏为什么设置不了
12
解锁新姿势:FairyGUI在Unity中遇见的问题第三弹
13
oracle如何放大字号,oracle调节字体大小
14
Android重新编译OpenCV+contrib4.3.0模块
15
[幻灯片]软件需求设计方法学全程实例剖析01概述
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有