android横竖屏切换问题
上篇博文介绍了一下关于unity接入华为sdk的问题,最后发现
发布到Android机器上横竖屏的切换问题会导致接入华为sdk后付款
后退出华为账号进入游戏提示登录,登录后卡死、闪退、黑屏等问题。
经过在网上查了一些资料得知,可能是android横竖切换重新加载
Activity导致。
然后我就在查了一下关于android横竖屏切换问题。关于横竖屏
切换,在unity中Playertting中有设置。在DefaultOrientation
设置,我选择了AutoRotation,并将Portrait、PortraitUpside
Down勾掉。只保留LandscapeRight、LandscapeLeft这个两个。
然后发布android进行测试发现问题还是没解决。横竖屏切换的时候
还是会出现闪屏、黑屏、卡死等现象。最后我放弃了只通过untiy的设
置来达到我想要的效果。我打开android的配置文件。在
中activity节点下添加了andrroid:
configChanges="orientation|keyboardHidden|screenSize"就可
以了,因为在上次博文中关于配置了强制设置横屏,这里就不多说了。
问题解决了。不过我还是有疑问。为什么横竖屏的切换会导致这个问
题的出现呢。
通过查找资料我了解到:在Android开发过程中,会碰到
Activity在切换到后台或布局从横屏切换到竖屏,会重新切换Activity
会触发一次onCreate方法。而我的鉴定方法就是放到onCreate()方
法中。
如果不进行设置Activity的android:configChanges,切屏会重
新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。
如果设置Activity的android:configChanges="orientation"
时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次。
如果设置Activity的android:configChanges=
"orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,
只会执行onConfigurationChanged方法。
还有一个需要注意的地方就是设置Activity的android:
configChanges="orientation|keyboardHidden"在android4.0是
无效的,需要加上screenSize才行。因为华为这个sdk要求最低版本
需要4.0.所以我集成新的sdk的时候选择的最低版本是4.0.所以在
中activity节点下添加上andrroid:
configChanges="orientation|keyboardHidden|screenSize",也
不要忘了同时添加强制横屏android:screenOrientation=”
landscape”。
好了,今天就到这了。对于我这个菜鸟一枚,有些地方写的可能
不到位或有错误,大家轻喷多留言,指出我的错误,让我也多学习一
下。
本文发布于:2023-03-11 06:24:10,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678487051212049.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:华为黑屏.doc
本文 PDF 下载地址:华为黑屏.pdf
留言与评论(共有 0 条评论) |