横竖屏切换时activity生命周期变化的总结

切换横竖屏时Activity的生命周期执行流程 通过AndroidManifest configChanges 属性配置,分场景以 Android 6-8 代码逻辑和行为介绍切换横竖屏时,四大组件Activity生命周期执行的先后顺序流程 阅读详情

activity的生命周期变化想必大家都耳熟能详,但是横竖屏切换时activity生命周期变化很多人肯定还很迷糊,最近在网上查找的资料总结的大都不全面,最后在博客园上看到一哥们总结的挺好, so,自己也写了个demo测试了一下,发现横竖屏切换时activity生命周期不仅跟清单文件AndroidManifest.xml中android:configChanges属性有关,而且还跟手机系统的版本有关,因为在Android 4.0及其以上系统上,还跟程序的targetSdkVersion设置有关。下面放出自己的测试结果:

 一、Android 2.3

1、清单文件中不配置android:configChanges属性或者配置了android:configChanges="orientation",横竖屏切换时会先销毁当前activity然后重新创建它,而且还会调用onSaveInstanceState和onRestoreInstanceState方法,如下图:


2、清单文件中配置android:configChanges="orientation|keyboardHidden",横竖屏切换时不会重新创建activity,而是会调用onConfigurationChanged方法


3、清单文件中配置android:configChanges="orientation|keyboardHidden|screenSize",横竖屏切换时不会重新创建activity


二、Android 4.0及以上

1、清单文件中不配置android:configChanges属性或者配置了android:configChanges="orientation",横竖屏切换时的变化跟Android 2.3是一样的,都会先销毁当前activity然后重新创建它,如图所示:

2、清单文件中配置android:configChanges="orientation|keyboardHidden"
(1) 当android:targetSdkVersion<="12"时,横竖屏切换时不会重新创建activity

(2) 当android:targetSdkVersion>"12"时,横竖屏切换时会重新创建activity

3.清单文件中配置android:configChanges="orientation|keyboardHidden|screenSize",不管android:targetSdkVersion为多少,横竖屏切换时都不会重新创建activity


最后补充一点,我们通过设置android:screenOrientation属性可以指定当前activity的屏幕方向。
    android:screenOrientation="portrait" 纵向
    android:screenOrientation="landscape" 横向
Android学习——关于Activity横竖屏切换时的生命周期变化 Android学习——关于Activity横竖屏切换时的生命周期变化 一个Activity的生命周期流程图 一个小tips ndroid Logcat使用起来可以方便的观察调试内容,基本上的使用方法(巧用Logcat调试程序)。 一、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“”,”“); 二、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择 三、Log.i 阅读详情

相关推荐

Android Activity横竖屏切换生命周期详解

关于Activity生命周期和横竖屏切换时,生命周期的执行过程,网上有很多文章。但是都写的很模糊,并且不完善。一般的我们去切换屏幕方向都是不希望Activity被重新创建,这时就需要对一些属性进行设置,或者使用代码设置。文章通过以上方面解析Activity在横竖屏切换时,生命周期方法执行过程。 1.Activity生命周期 2.configChanges属性解析 3.orientation属性 4.keyboardHidden属性 5.screenSize属性 6.总结 activity生命周期方法 默认情况下,activity从创建到销毁会执行以下生命周期方法 onCreate –>onSt

Activity横竖屏切换时生命周期变化

关于Android切换横竖屏调用生命周期,我在网上搜索一下,基本上都是一个统一的说法,分为以下三种情形。 1.        默认状态下: 切换横屏时会调用一次生命周期,切换竖屏时会调用两次生命周期,其中不会调用onConfigurationChanged()方法。 2.        设置android:configChanges=“orientation”时: 切换横竖屏均会调用一次生

Sun_LeiLei的博客 834

Maya ACES工作流程配置(Arnold 及 RedShift 贴图配置规范-还原出SP-Aces流程下贴图正确的效果) PS还原Aces流程下渲染的图

*如果使用SP,项目工程如果新建的时候设置的就是Aces的流程的话,按规范正常导出即可,贴图会带上相对应的后缀,然后贴图导入材质球的时候会根据后缀自动设置相对应的色彩空间;**万一不是,就自己手动设置一下对应的色彩空间即可;然后点击选择当前的或者选择全部导入的贴图,点击右下角后,开始转换;我复制了一下,一个默认没有LUT的效果,然后另外一个是加载2个LUT后的还原效果,和渲染的效果应该是没有区别的,至少我没有看出明显的区别;把需要转换的贴图拖拽到左侧,然后右面选择需要转换到的相对应的色彩空间;...

Yuulily 7993

Activity生命周期(横竖屏切换,Home键,Dialog)

Android Activity 生命周期

liulang748的博客 640

逆向实战:拼多多anti-content加密参数的全链路解析与动态对抗策略

本文深入解析了拼多多anti-content加密参数的全链路生成逻辑与动态对抗策略。通过逆向工程实战,详细拆解了包含设备指纹、用户行为采集和动态密钥生成在内的12个关键环节,并提供了可持续对抗的精准模拟方案和自动化更新机制,帮助开发者有效应对拼多多的反爬体系。

weixin_30687051的博客 160

告别同质化!用PyTorch Geometric手把手实现RGCN处理多关系图数据(附实战代码)

本文详细介绍了如何使用PyTorch Geometric实现关系图卷积网络(RGCN)处理多关系图数据,特别适用于社交网络分析、推荐系统等场景。通过实战代码演示了从数据加载、模型构建到训练优化的完整流程,帮助开发者高效处理异构图数据,提升模型性能。

weixin_30781433的博客 259

Android Activity 横竖屏切换的生命周期

实现自定义的Configuration变化处理逻辑结合WindowManager计算实际可用尺寸。

斗锋在干嘛的博客 581

Verilog除法器(32位无符号+带符号)

32位无符号除法器设计 恢复余数法: 恢复余数除法的基本思路是从“部分余数”中减去除数,如果结果为负(不够减),则恢复原来的部分余数,商0. 寄存器使用: reg_r 存放被除数a reg_b 存放除数b reg_r 存放余数(初始清零) 具体做法: 做减法时,减数是reg_b中的除数,被减数是reg_r中的余数左移一位,最低位由reg_q(被除数)的最高位补充。为了能够判断相减结果的正...

qq_38600065的博客 1万+

Activity 的生命周期

从 Activity A 跳转到 Activity B,如果 B 是窗口样式(android:theme=“@style/Theme.AppCompat.Dialog”)

xingyu19911016的博客 523

workbench拓扑优化教程_拓扑优化实例-轮毂的优化

拓扑优化实例-轮毂的优化ANSYS Workbench的新版本集成了topology optimization模块,为用户的拓扑优化提供的很好的应用。通过拓扑优化topology optimization模块的使用可以对拓扑有较好的理解,该模块拓扑优化可以简单概括为一句话:如何在合适的位置去除确定的材料使用量,而相应的刚度变化影响最小。本例以汽车轮毂为例,来确定轮毂的辐条形状。1.建立模型DM中可...

weixin_39581739的博客 3043

[原创]Keil工程STM32F103C8T6无缝转换到STM32F103RCT6

有个项目,老版本是STM32F103C8T6,硬件资源不够了,新版本采用STM32F103RCT6。 无缝过渡,如下: 选定芯片 宏定义改为STM32F10X_HD,USE_STDPERIPH_DRIVER 删除原有的启动汇编文件,更换为高密度器件汇编文件 时钟系统紊乱? 那得看你程序怎么写: 先看F103时钟树 int main(void) { unsigned char stat...

江东风又起 2万+

Android 横竖屏切换时Activity生命周期变化

1、新建一个Activity,并把各个生命周期打印出来 onCreate, 创建activity时调用。设置在该方法中,还以Bundle中可以提出用于创建该 Activity 所需的信息。onStart, activity变为在屏幕上对用户可见时,即获得焦点时,会调用。onResume, activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的) onSaveIn...

u013773608的博客 1691

OpenClaw 报错 npm install failed; cleaning up and retrying...:原生模块编译失败

本文针对OpenClaw项目在部署时出现的"npm install failed"报错问题进行分析,指出该问题源于Node.js原生模块编译链缺失。文章详细列举了常见触发原因,包括缺少gcc/make、Python版本不符、Node版本过新等,并提供了五种解决方案:安装完整编译环境、配置node-gyp Python、重新编译原生模块、切换Node版本以及单独重建失败模块。最后强调在国产服务器环境下部署AI工程时,补齐编译环境和使用稳定Node版本是解决问题的关键,该方案可复用解决

博客 1798

关于Activity横竖屏切换时生命周期发生的变化

今天我们来记录一下当Activity横竖屏变化时Activity的生命周期的变化过程,记得以前面试的时候也被问过类似的问题,当时也不太清楚,今天刚好有时间就写个demo测试一下看看在横竖屏切换时,Activity生命周期到底发生了什么变化,话不多说先上代码,代码很简单只有一个Button点击事件,然后就是生命周期回调方法的Log打印 public class ScreenActivity ex...

weixin_42371001的博客 580

TIA博途WINCC的触摸屏VB脚本入门指南(嵌入式)

通过编写事件处理程序,您可以响应触摸屏元素的各种事件,并实现自定义的功能。本文将为您提供TIA博途WINCC触摸屏VB脚本的入门指南,帮助您了解基本的脚本编写和嵌入式开发。假设我们有一个名为"Button1"的按钮元素,当用户点击该按钮时,触发相应的事件处理程序,并在触摸屏上显示一条消息。然后回到触摸屏界面编辑器,在按钮元素的属性窗口中找到"按下"事件,并选择刚才创建的脚本文件作为事件处理程序。现在,当用户点击按钮时,触摸屏将执行相应的事件处理程序,并显示一条消息框,内容为"按钮被点击了!

CodeSageX的博客 4417

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

横竖屏切换时Activity的生命周期变化

近期准备找工作

MillenYuan的专栏 858

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

切换横竖屏时Activity的生命周期变化

更多面试题请看这里:https://interview.raoyunsoft.com/不同配置和系统版本下,横竖屏切换会触发不同的生命周期回调。以下是详细场景分析:📱 竖屏启动流程 🔄 切换横屏流程(Android 6.0/7.0/8.0一致) 📱 横屏启动流程 🔄 切换竖屏流程(Android 6.0/7.0/8.0一致) ✅ 结论:🔄 切换横屏/竖屏流程差异:🔄 切换横屏/竖屏流程(所有系统版本): ✅ 结论:🔄 切换横屏/竖屏流程(Android 6.0/7.0/8.0一致): ✅ 结论

bookzhan的专栏 409

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

两个Activity跳转时、App前后台切换时、Activity横竖屏切换时的Activity生命周期变化

一 、A、B两个Activity跳转时 A启动: A:onCreate —>A被第一次创建 A:onStart —>A可见 A:onResume —>A开始准备与用户交互 A中启动B: A:onPause —>A即将启动B B:onCreate...

cunjicsdn的专栏 886

横竖屏切换和页面切换时activity生命周期的变化

android中横竖屏切换和页面切换时activity生命周期的变化的测试方法以及结果 横竖屏切换时: MainActivityonCreate MainActivityonStart  MainActivityonResume MainActivityonPause  MainActivityonStop  MainActivityonDestroy MainAc

doubleV2016的博客 436

AsyncTask.横竖屏切换时Activity的生命周期变化

1.横竖屏切换时Activity的生命周期变化。onPause-&gt;onSaveInstanceState-&gt;onStop-&gt;onDestory --------第一阶段-&gt;onCreate-&gt;onStart-&gt;onRestoreInstanceState-&gt;onResume -------第二阶段2.AsyncTask使用方法三个参数Params:表示后...

wiseyue的博客 174

Activity横竖屏切换时生命周期变化 转载

关于Activity横竖屏切换的声明周期变化: 1、新建一个Activity并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3、按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDest

xgdtale的专栏 356

横竖屏切换时Activity生命周期变化解析

本文已同步发表到我的微信公众号,扫一扫文章底部的二维码或在微信搜索 “程序员驿站”即可关注,每天都会更新优质技术文章。 作为参考,我们先看下Fragment和Activity的生命周期流程图 Activity各种场景生命周期介绍 下面是Activity的源码: package com.sharejoys.interviewdemo; import android.content...

伯兮的专栏 3968

Android中横竖屏切换时Activity的生命周期变化

这个问题面试的时候有时候会被问到,现在给大家分析一下他切换时具体的生命周期是怎么样的

Lenny的博客 364

说下切换横竖屏时 Activity 的生命周期变化?

1、AndroidManifest没有设置configChanges属性 1.1 android 6 onPause --> onSaveInstanceState --> onStop --> onDestroy --> onCreate --> onStart --> onRestoreInstanceState --> onResume --> onStop --> onDestroy 总结:没有设置configChanges属...

Zilin的博客 480
上一篇: Android基础:自定义带图片的Toast
下一篇: 仿QQ侧滑删除Item:Swipemenulistview的简单实现
高速蜗牛a
博客等级 码龄15年 14粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值