文档章节

程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreat的问题解决

守夜之星
 守夜之星
发布于 2013/09/30 16:49
字数 419
阅读 286
收藏 7

今天在写一个应用的时候,因为需要设置成横屏模式,所以在Manifest里面的Activity里面加了两个参数设置:

android:screenOrientation="landscape"

        android:configChanges="keyboardHidden|orientation"

这是设置屏幕方向为横屏,以及禁止在屏幕切换的时候重启Activity和隐藏键盘。横竖屏切换的知识可以看我另一篇文章。

本来是用的好好的,但是无意中在锁屏后再解锁的时候,应用会先竖屏,然后再转回横屏,而且还有一些时间间隔,于是我就去调查了一番:

首先,在所有Activity的生命周期加了一句打印LOG,发现在锁屏的时候,Activity就执行了一遍onDestroy,解锁的时候,又重新从onCreat来打开,于是就又执行了一遍onCreat里面的代码,,,这不科学,正常情况下是不会执行这两个的(除非系统内存吃紧,自动销毁,但是这个情况排除了)。

经过反复查找和DEBUG之后,又和同学同事讨论了半天,还去查看了锁屏的源代码(虽然没看懂几句),还是没有结果,,,

不过,皇天不负有心人,终于在stackoverflow上找到一大神的回答了~

问题的关键所在,就是API13以后,需要在 android:configChanges 的参数里面加一个screenSize!!!

也就是: android:configChanges="screenSize|keyboardHidden|orientation" 


经过我亲手真机测试,问题很干净地被解决了,妈妈再也不用担心它重复onCreat了!  T w T

© 著作权归作者所有

守夜之星
粉丝 6
博文 47
码字总数 13036
作品 0
广州
程序员
私信 提问
程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreate的问题解决

今天在写一个应用的时候,因为需要设置成横屏模式,所以在Manifest里面的Activity里面加了两个参数设置: android:screenOrientation="landscape" android:configChanges="keyboardHidden|or......

悠悠我馨
2013/09/09
0
3
Android Activity 屏幕操作

一、全屏显示 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 二、设置横、竖屏 1.修改Activity的onResume方法 2.修改配置文件 在配置文件中对Activity节点添加a...

SRain215
2016/05/10
57
0
Android横屏下Fragment界面重叠问题

转载的别人的东西 因为自己做平板被坑到了。所以自己等于给自己长个知识。 Android横屏下Fragment界面重叠问题 前言: 项目是基于平板开发的,设计的界面是要求横屏展示界面。所以我将所有的...

huyawenz
2017/11/27
0
0
Activity的创建、生命周期

Activity是Android四大组件之一。一个Activity负责管理一个界面。 创建一个Activity: New -> Activity -> 选择要创建的Activity类型(一般我们选Basic Activity) AS会自动在AndroidManife...

chenhongyong
05/16
0
0
Activity生命周期

子曰:溫故而知新,可以為師矣。《論語》 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作...

Sheamus
2015/09/24
33
1

没有更多内容

加载失败,请刷新页面

加载更多

jni接口NewStringUTF崩溃

转载 原文 https://blog.csdn.net/churuxu/article/details/49999575 ndk开发中,将c/c++的UTF8编码的字符串转换成java字符串,使用了NewStringUTF接口。 当字符串中包含emoji字符时,在有些...

shzwork
昨天
3
0
北斗三号IGSO-2卫星发射成功!

6月25日,中国航天科技集团官方公众号宣布,北斗三号IGSO-2卫星发射成功! 航天科技集团表示,6月25日2点09分,我国在西昌卫星发射中心用长征三号乙运载火箭成功将北斗三号第2颗倾斜地球同步...

linuxCool
昨天
3
0
阿里java开发规约的Idea插件安装(英文)

Idea Plugin Prepare Project JDK: 1.7+ Gradle: 3.0+(Require JDK1.8+ for gradle) Build cd p3c-ideagradle clean buildPlugin Run plugin cd p3c-ideagradle runIde# run speci......

Airship
昨天
8
0
很多人转行做程序员选择web前端学习,前端简单在哪里?

不管你是工人阶层还是服务行业,是否想过转行IT,转行IT后肯定会选择一门编程语言进行深入学习,很多转行的人基础都不是太好,不是科班出身,甚至有的是专科乃至中专,前端的HTML和CSS相对其...

智云编程
昨天
2
0
一文读懂内网、公网和NAT

我们做弱电监控系统的时候,都避免不了要跟IP地址打交道,比如摄像头、NVR、服务器等这些设备安装好之后,就需要给它们配上IP,那这个IP地址你了解嘛?今天我们就一起来聊聊什么是内网、公网和...

老孟的Linux私房菜
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部