Android 切换界面黑屏

news/2024/11/17 1:57:19/

这种切屏导致的黑屏多半是因为横竖屏切换或者其他问题没有配置响应
在Manifest中每个Activity都添加如下配置:

android:configChanges="orientation|keyboardHidden|navigation|screenSize"

这个配置的意思:
大佬的记录

VALUEDESCRIPTION
mcc国际移动用户识别码所属国家代号是改变了,sim被侦测到了,去更新mcc MCC是移动用户所属国家代号
mnc国际移动用户识别码的移动网号码是改变了, sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
locale用户所在区域发生变化,一般是用户切换了语言时,切换后的语言会显示出来
touchscreen触摸屏是改变了------通常是不会发生的
keyboard键盘发生了改变----例如用户用了外部的键盘
keyboardHidden键盘的可用性发生了改变
navigation导航发生了变化-----通常也不会发生
screenLayout屏幕的显示发生了变化------不同的显示被激活
fontScale字体比例发生了变化----选择了不同的全局字体
uiMode用户的模式发生了变化
orientation屏幕方向改变了—横竖屏切换
screenSize屏幕大小改变了
smallestScreenSize屏幕的物理大小改变了,如:连接到一个外部的屏幕上

黑屏原因:
程序在运行时,一些设备的配置可能会发生改变,如:横竖屏切换、键盘的可用性等这样的事情发生的时候,activity在没有配置android:configChanges时会重新启动,其过程如下图所示:
在这里插入图片描述
其onPause 、onSaveInstanceState、onStop、onDestroy方法均会被调用。onSaveInstanceState方法会在onStop方法之前调用,但是他和onPause方法调用没有特定先后顺序,可前可后。

在销毁activity之前会通过方法onSaveInstanceState保存你应用中的一些数据,然后call onDestroy方法,然后当重新创建activity时调用onCreate方法之后会调用onRestoreInstanceState方法来恢复之前保存的数据
所以黑屏就是在这里产生的,渲染的时候其实你的activity还没有初始化好所以就黑屏了。


http://www.ppmy.cn/news/734892.html

相关文章

苹果双系统如何切换

使用苹果电脑的用户给电脑安装了 mac 和 windows 双系统,这样方便自己工作和娱乐分开操作等,但是自己刚安装好还不知道 mac 双系统怎么切换。 Apple Computer 苹果电脑 双系统切换方法 开机或重启电脑的时候按住 Opiton 键,也就是 Alt 键&…

mac拓展显示屏睡眠或锁屏后启动黑屏,mac typeC不支持4K 60HZ

问题一、mac拓展显示屏睡眠或锁屏后启动黑屏 解答:参考文章:display - External monitor stays black after "locking" (or sleeping) - Ask Different 其中主要参考回答中的最佳答案(也就是打对号的那一个)&#xff…

mac怎样设置黑屏不断网的方法?

mac怎么断网?mac系统经常断网,屏保以后就断网了,就不能下载东西了,该怎么设置黑屏不断网呢?下面我们就来看看mac设置黑屏不断网的方法,需要的朋友可以参考下。 1、点击屏幕右上角的小苹果图标,选…

MacOSX VMware Fusion 虚拟机黑屏的解决方案

今天装个虚拟机黑屏了。 于是就开始在网上找解决方案。 说是因为没有给虚拟机VMware Fusion屏幕录制权限。 打开系统偏好设置>>安全性与隐私>>隐私>>屏幕录制,选择VMware Fusion。 找到了屏幕录制,发现没有VMware Fusion的选项…

如何实现关卡切换黑屏遮罩

如何实现关卡切换黑色遮罩效果 1. shader需求分析 昨日看到一个效果,就是关卡结束可以有一个logo遮住关卡的效果,如下: GIF来源:Fululu627的视频 为了仿制了一个,我尝试了使用UI中的Mask组件,然后动画调…

Ubuntu20.04进入图形界面黑屏,可切换命令行

在/boot/grub/grub.cfg中添加nomodeset,操作如下: vim /etc/grub/grub.cfg 保存后推出 vim /etc/default/grub 保存后退出 重启即可

iOS 16适配屏幕旋转强制转屏切换大总结

问题原因: 苹果又给我们挖坑了,iOS 16屏幕旋转报错:[Orientation] BUG IN CLIENT OF UIKIT: Setting UIDevice.orientation is not supported. Please use UIWindowScene.requestGeometryUpdate(_:) 坑:听说xcode 14 和 xcode 1…

快捷键实现MAC或者WINDOWS下快速切换显示器输入源

目录 通过键盘实现mac或者Windows显示器输入信号源快捷键切换(电脑怎么切换屏幕的信号输入) 前言一、通过显示器菜单按钮控制二、通过快捷键设置1.window系统对ControlMyMonitor做一点补充(不想对软件有详细了解的可直接跳过,不…