之前在网上看到博客说Activity横竖屏切换的规律如下:

(1)不设置android:configChanges,竖屏切换到横屏调用一次生命周期,横屏切竖屏调用两次生命周期。

(2)设置 android:configChanges="orientation"时,切横屏时还会调用一次生命周期,切竖屏会调用一次生命周期,然后会调用OnConfigChanges()回调。

(3)设置 Activity的android:configChanges="orientation|keyboardHidden" 时,不会执行各个生命周期,切横竖屏都只会执行onConfigurationChanged()。

但是,我自己实验的结果却并不是这样子的。所以非常纳闷这是怎么回事。我实验的结果如下:

首先我的测试环境:模拟器(2.3.3) 、真机LG(4.1.2)、三星(2.3.6)

(1)在三种测试环境下,不配置android:configChanges,横竖屏切换都是调用一次Activity生命周期。

(2)当设置android:configChanges="orientation"时:

1.在三星测试环境下,横竖屏切换都是不执行生命周期而是执行onConfigurationChanged方法。

2.在模拟器和LG上面测试,横竖屏切换和不设置android:configChanges是一样的效果。都执行一次生命周期。

(3)当设置android:configChanges="orientation|keyboardHidden"时:

1.在三星和模拟器上面测试,横竖屏切换都是不执行一遍生命周期,而是调用onConfigurationChanged()回调方法。

2.在LG上面测试和不设置android:configChanges效果还是一样,横竖屏切换都各执行一次生命周期。

所以跟网上说的情况不太一样,并且猜测跟系统版本还有关系:

于是在网上查了下,自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变,因此需要在AndroidManifest.xml中配置android:configChanges="orientation|keyboardHidden|screenSize",经过验证,这个配置在LG上面起作用了,横竖屏切换的时候,只调用了OnConfigurationChanged()。

另外在android4.2以后,需要在android:configChanges=""再配置上layoutDirection,才能起到回调OnConfigurationChanged()的效果。

最后总结下,我得出的结论:

(1)不设置android:configChanges的时候,横竖屏切换,无论什么版本的系统,都会调用Activity生命周期一次。  (这点不同于网上所说的 切换竖屏时的执行两次生命周期)

(2)设置android:configChanges="orientation"时,有的系统(3.0以前的系统)在横竖屏切换的时候,都会调用OnConfigurationChanged()方法。但是模拟器和4.0的系统都是会调用Activity生命周期一次。

(3)设置android:configChanges="orientation|keyboardHidden"时,在android3.2以前(从android3.0到android4.0没有测试)的系统上,是只会调用OnConfigurationChanged()的。

(4) 对于android4.0以上的系统,配置android:configChanges还需要加上screenSize才能达到调用OnConfigurationChanged()的效果。

对于android4.2以上的系统,还需要配置layoutDirection,才可以达到调用OnConfigurationChanged()的效果。

欢迎大家,留言相互交流。

android电视横竖屏切换在哪里,Android横竖屏切换总结相关推荐

  1. android 电视语音遥控器,基于遥控器的Android电视语音聊天系统及其方法与流程

    本发明涉及,尤其涉及一种基于遥控器的Android电视语音聊天系统及其方法. 背景技术: 随着科技越来越发展,电视机的功能也越来越强大,对于电视机,相对于传统电视机的单纯看电视功能,现有技术中,还支持 ...

  2. 全球及中国智能Android电视行业竞争情况及营销趋势预测报告(2022-2027)

    全球及中国智能Android电视行业竞争情况及营销趋势预测报告(2022-2027) ================================================ [报告编号]: ...

  3. android电视 优酷视频,将优酷视频投屏到智能电视上,竟然还有这种操作

    原标题:将优酷视频投屏到智能电视上,竟然还有这种操作 现在很多人对投屏很感兴趣,通过一些软件或者工具可以将手机.电脑里的视频或者文件投放到智能电视上观看.今天小编也来尝试下,准备好一部安卓手机.一台智 ...

  4. android 多屏互动 开发,基于Android的直播电视多屏互动应用的设计与实现_问答库...

    目前,智能移动手机已经走入了我们的身边,伴随而来的是Android和IOS两大主流操作系统占领着市场手机份额的95%以上,特别是Android操作系统的智能手机使用率已经操作了IOS操作系统智能手机, ...

  5. mac和android电视互联,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版

    Mirror for Android TV是一款适用于Mac的安卓电视投屏工具,它可以帮助用户在Mac上即可将视频.电影投屏到安卓电视上,适用于任何电视,设置框或媒体播放器与Android电视操作系统 ...

  6. android电视查看百度网盘,百度网盘如何投屏到电视?百度网盘投屏到电视的方法...

    百度网盘如何投屏到电视?用户在使用百度网盘观看视频资源的时候,也可以选择将视频投屏到电视上进行观看的,本文中小编将会带来详细的投屏方法,想要了解的朋友不要错过哦! 软件名称:百度网盘 for Andr ...

  7. android 电视怎么投屏,安卓手机怎么投屏到电视

    手机无线投屏是一个看似很小实际上非常有用的功能.它可以使我们普通的6英寸手机屏幕投影到55英寸甚至65英寸的电视上.无论是玩游戏,观看视频还是与家人共享照片,在屏幕上看电视比观看手机都更加有趣.今天, ...

  8. 小屏幕android电视,手机屏幕还能投屏到电视?教你4种方法,1秒钟小屏变大屏

    手机屏幕太小,尤其是看大片的时候,总有种意犹未尽的感觉,那么今天就来教大家手机怎样一键从小屏变成大屏,在家也能享受影院级的观赏感. 下面为大家准备了2种方法,一起来看看吧! 1.手机自带投屏功能 安卓 ...

  9. android 电视怎么投屏,手机怎么投屏到电视?原来这么简单

    原标题:手机怎么投屏到电视?原来这么简单 虽然我们手机里装的东西越来越多,精彩的照片和视频.随意安装的视频应用等等,可手机屏幕太小了,不能全家人一起分享,也不如大屏看的爽快,怎么办?只需简单几步,小屏 ...

  10. android电视怎么使用教程,手机无线投屏到电视机的方法和具体该操作

    现在大家的手机功能非常多,很多人都会用手机来玩游戏.看电影,不过手机屏幕太小始终是个硬伤.接下来奇机就给大家介绍手机无线投屏到电视机的方法是什么,具体该怎么操作? 安卓手机无线投屏到电视机 安卓手机投 ...

最新文章

  1. 滴滴自动驾驶部门成立独立公司,CTO张博兼任新公司CEO
  2. 保障K8s部署中的安全性
  3. Python踩坑指南(第三季)
  4. Python测试框架pytest(05)fixture - error和failed、fixture实例化、多个fixture
  5. php date strtotime的用法
  6. ajaxFileUpload
  7. vue json 导出 excel
  8. 音频处理五:(音频的FFT计算)
  9. 主从同步设置的重要参数log_slave_updates
  10. LeetCode 1250. 检查「好数组」(set / 最大公约数)
  11. swift 原生给h5发消息_Swift - 使用HTML5进行iOS开发(将HTML5打包成iOS应用)
  12. 7-27 通讯录的录入与显示 (10 分)
  13. Django 上传附件报The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS错误
  14. WinForm中日期控件开窗
  15. php读取西门子plc_AB PLC和西门子PLC之间需要交换数据
  16. javascript闭包续
  17. 线性代数辅导讲义(第五章 特征值特征向量)
  18. TensorFlow支持GPU配置问题
  19. python中函数调用
  20. 天地图和谷歌地图静态图像素坐标和经纬度坐标互转

热门文章

  1. android模拟器 百度云盘,MEmu逍遥安卓模拟器海外纯净版
  2. WIN7访问局域网内另外一台电脑的共享文件夹
  3. 内中断,外中断,软中断,硬中断,异常,陷阱
  4. 【软件质量】软件完整性
  5. 关于微信小程序本机调试可以运行,真机无法运行的问题
  6. 说说Oracle分区
  7. 查询2021高考成绩广西排名,2021广西高考成绩排名顺序查询,广西省高考全省排名怎么查...
  8. 【融职培训】Web前端学习 第7章 Vue基础教程4 组件传值
  9. 深入探究linux_深入探究GraphQL查询
  10. .net 导出excel_C# 导出 Excel 的 6 种简单方法!你会几种?