多测师肖sir__app白屏原因
app白屏
黑屏白屏就是window窗口背景;
======================================
造成白屏原因:
1、内存较小
解决方法:释放内存、关闭内存占用多的软件
2、手机使用时间过长,造成卡顿
解决方法:清理垃圾、缓存、杀死进程,重启手机
3、手机本身出现质量问题,
解决方法:用一台好的手机进行对比,应用查看效果
4、加载过慢导致有白屏,并且加载时间过长
解决方法:建议返厂维修
5、网络问题引起白屏、加载不了
解决方法:连接网络
6、从启动应用到Activity闪屏也的onResume方法执行的时间会比较耗时
解决方法:把闪屏页的背景和图标可以设置在style里。这个style又是和Activity注册在AndroidManifest里的
7、过多的app应用程序
解决方法:关闭其他应用程序
8、黑白屏并不是不正常的,而是没有加载到布局文件,就已经显示window窗口背景
====================================
解决方法:
1、Android中使用Theme来解决启动app时出现的空白屏问题
2、在mainfeist.xml文件 针对window主题 theme设置背景 windowBackground,就可以解决黑白屏问题
===================================
1、二、为什么APP启动时会出现白屏或者黑屏?
当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要做什么呢?如果没有任何反应的话,如果程序初始化的时间很长,用户可能还以为没有点到相应的位置。但此时所启动的程序还没初始化完,既无法显示程序,又不能停在原处不做任何动作,怎么办?这就有了Starting Window的概念,也可以称之为Preview Window。
Starting Window就是一个用于在应用程序进程创建并初始化成功前显示的临时窗口,拥有的Window Type是TYPE_APPLICATION_STARTING。在程序初始化完成前显示这个窗口,以告知用户系统已经知道了他要打开这个应用并做出了响应,当程序初始化完成后显示用户UI并移除这个窗口。
显示白屏或者黑屏,是由你的启动Activity或者Application来决定的。如果你使用的是Light主题,那么就可能出现白屏;如果你使用的是Black主题,那么就可能出现黑屏。当你设置Light或者Black主题时,Starting Window显示的就是你启动Activity的android:windowBackground属性,所以才会出现白屏或者黑屏的情况。
2、三、怎么解决启动白屏或者黑屏问题呢?
(1).通过设置style
设置背景Theme,设置一张背景图,首页显示就这张背景图。避免出现黑屏
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@mipmap/splash</item>
</style>
(2).设置透明的Theme
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
(3)修改AndroidManifest.xml
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true">
android:theme="@style/AppTheme">
//......
=============================================
四、常见的Theme主题
android:theme="@android:style/Theme.Dialog" //Activity显示为对话框模式
android:theme="@android:style/Theme.NoTitleBar" //不显示应用程序标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显示应用程序标题栏,并全屏
android:theme="Theme.Light " //背景为白色
android:theme="Theme.Light.NoTitleBar" //白色背景并无标题栏
android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,无标题栏,全屏
android:theme="Theme.Black" //背景黑色
android:theme="Theme.Black.NoTitleBar" //黑色背景并无标题栏
android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,无标题栏,全屏
android:theme="Theme.Wallpaper" //用系统桌面为应用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" //用系统桌面为应用程序背景,且无标题栏
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系统桌面为应用程序背景,无标题栏,全屏
android:theme="Theme.Translucent" //透明背景
android:theme="Theme.Translucent.NoTitleBar" //透明背景并无标题
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并无标题,全屏
android:theme="Theme.Panel " //面板风格显示
android:theme="Theme.Light.Panel" //平板风格显示