android横竖屏切换问题
2016-11-16 10:48
1381 查看
上篇博文介绍了一下关于unity接入华为sdk的问题,最后发现发布到android机器上横竖屏的切换问题会导致接入华为sdk后付款后退出华为账号进入游戏提示登录,登录后卡死、闪退、黑屏等问题。经过在网上查了一些资料得知,可能是android横竖切换重新加载Activity导致。
然后我就在查了一下关于android横竖屏切换问题。关于横竖屏切换,在unity中 Player setting 中有设置。在Default Orientation设置,我选择了Auto Rotation,并将Portrait、Portrait Upside Down勾掉。只保留Landscape Right、 Landscape Left这个两个。然后发布android进行测试发现问题还是没解决。横竖屏切换的时候还是会出现闪屏、黑屏、卡死等现象。最后我放弃了只通过untiy的设置来达到我想要的效果。我打开android的配置文件。在AndroidManifest.xml中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.所以在androidManifest.xml中activity节点下添加上andrroid : configChanges = "orientation|keyboardHidden|screenSize",也不要忘了同时添加强制横屏android:screenOrientation=”landscape”。
好了,今天就到这了。对于我这个菜鸟一枚,有些地方写的可能不到位或有错误,大家轻喷多留言,指出我的错误,让我也多学习一下。
然后我就在查了一下关于android横竖屏切换问题。关于横竖屏切换,在unity中 Player setting 中有设置。在Default Orientation设置,我选择了Auto Rotation,并将Portrait、Portrait Upside Down勾掉。只保留Landscape Right、 Landscape Left这个两个。然后发布android进行测试发现问题还是没解决。横竖屏切换的时候还是会出现闪屏、黑屏、卡死等现象。最后我放弃了只通过untiy的设置来达到我想要的效果。我打开android的配置文件。在AndroidManifest.xml中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.所以在androidManifest.xml中activity节点下添加上andrroid : configChanges = "orientation|keyboardHidden|screenSize",也不要忘了同时添加强制横屏android:screenOrientation=”landscape”。
好了,今天就到这了。对于我这个菜鸟一枚,有些地方写的可能不到位或有错误,大家轻喷多留言,指出我的错误,让我也多学习一下。
相关文章推荐
- Android开发日志之横竖屏切换数据保存问题
- 解决Android横竖屏切换数据丢失问题
- Android应用横竖屏切换时Activity重启问题
- Android横竖屏切换及其对应布局加载问题
- android:configChanges属性(android横竖屏切换问题解决)
- Android 横竖屏切换问题
- 关于Android 横竖屏切换的问题
- Android横竖屏切换布局不正常的问题
- 横竖屏切换时重构Activity生命周期的问题---android:configChanges的用法
- Android横竖屏切换问题
- 解决Android横竖屏切换数据丢失问题
- Android中解决手机屏幕横竖屏切换问题
- android系统横竖屏切换问题
- 百度地图与Android横竖屏切换的问题
- 关于横竖屏切换问题几点知识(Android学习随笔一)
- [Android疑难杂症]Gallery默认和横竖屏切换选中状态问题(2.3、2.3系统存在)
- Android游戏开发9:触屏事件处理中的常见问题及如何禁止横竖屏切换
- Android横竖屏切换问题
- Android 游戏开发中横竖屏切换问题
- 在Android中自动实现横竖屏切换的问题