Android横竖屏切换的生命周期

现在的手机默认情况下可以横竖屏切换,但是横竖屏切换的生命周期是怎么样的,今天就来说明一下,以防你开发的app横竖屏时game over

1.在不做任何配置的情况下,加载一个activity的打印日志:

切换屏幕时方向的打印日志:

ps:我这里没出现什么横屏切换竖屏时执行两次oncreate,个人觉得不对

2.配置android:configChanges="keyboardHidden|orientation|screenSize"时,屏幕切换时,不会出现重启activity

3.配置android:configChanges="keyboardHidden|orientation"时,分情况而论了

(1)android:targetSdkVersion>12的情况下,屏幕切换还是会出现重启activity

(2)android:targetSdkVersion<=12的情况下,屏幕切换时不会重启activity,只调用onConfigurationChanged

4.配置android:configChanges="orientation"时,屏幕切换时,重启activity

总结:

1.不配置和配置android:configChanges="orientation"时,屏幕切换时,activity需要重启

2.配置android:configChanges="keyboardHidden|orientation|screenSize"时,屏幕切换时,不重启activity,执行onConfigurationChanged

3.配置android:configChanges="keyboardHidden|orientation"

(1)android:targetSdkVersion>12的情况下,屏幕切换还是会出现重启activity

(2)android:targetSdkVersion<=12的情况下,屏幕切换时不会重启activity,只调用onConfigurationChanged

时间: 2024-09-30 22:50:00

Android横竖屏切换的生命周期的相关文章

无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销

Intent七大属性,Activity的启动方式,横竖屏切换的生命周期,现场保护--&gt;

---------------------------------Intent七大属性------------------------------------- 第一类:启动,有ComponentName(显式),Action(隐式),Category(隐式). 第二类:传值,有Data(隐式),Type(隐式),Extra(隐式.显式). 第三类:启动模式,有Flag. ---------------------------------------Activity的启动方式----------

Android--纠正Activity横竖屏切换的生命周期的错误

1.本机测试环境 android 4.3, android:targetSdkVersion : 12,13,17 2.关于横竖屏切换的Activity生命周期的错误说法 初学Android,在学习Activity的生命周期时,自己在本机实验时,发现了一些不合理的情况. 那就是在横竖屏切换时,Activity并不会像网上大多数人所说的那样: 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次. 设置Activi

Fragment和Activity生命周期以及横竖屏切换对生命周期的影响

Fragment生命周期图解,fragment和activity生命周期对比 生命周期变化 : 切换到该Fragment 05-21 14:26:35.095: D/FragmentDemo(7649): onAttach 05-21 14:26:35.095: D/FragmentDemo(7649): onCreate 05-21 14:26:35.095: D/FragmentDemo(7649): onCreateView 05-21 14:26:35.100: D/FragmentDe

Android横竖屏切换生命周期

转自xiaoQLuhttp://www.cnblogs.com/xiaoQLu/p/3324503.html 开源帮助android获得了飞速的发展,开源也导致了数不清的碎片问题.android的前期系统就是一个半成品,不成熟的系统以及google的快速迭代开发,导致厂家完全跟不上google的步伐,你2.3的bug还没改完,4.0就出来了,4.0的bug还在处理,4.1出来了,最后的结果就是,手机厂家给每部手机一个系统版本,并且不能升级.最后苦逼的就是广大的程序猿们,你不得不考虑从2.1到4.

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

1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再

Android横竖屏切换及其对应布局加载问题

第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局. 可以通过以下两种方法来切换布局: 1)在res目录下建立layout-land和layout-port目录,相应的layout文件名不变,比如:layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,横竖屏切换时程序调用Activity的onCreate方法中的setOnContent(xxx),并自动加载相应的布局. 2)假如布

Android横竖屏切换总结

Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数: "unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. "lan

让Android横竖屏切换时不销毁当前activity

网上查到资料: 对 节点<activity/> 添加属性“ android:configChanges="orientation|keyboardHidden|screenSize" ”,如下所示: 1 <activity 2 android:name=".MainActivity" 3 android:label="@string/app_name" 4 android:configChanges="orientat