多测师肖sir__app白屏原因

app白屏

 黑屏白屏就是window窗口背景;

======================================

造成白屏原因:

1、内存较小

解决方法:释放内存、关闭内存占用多的软件

2、手机使用时间过长,造成卡顿

解决方法:清理垃圾、缓存、杀死进程,重启手机

3、手机本身出现质量问题,

解决方法:用一台好的手机进行对比,应用查看效果

4、加载过慢导致有白屏,并且加载时间过长

解决方法:建议返厂维修

5、网络问题引起白屏、加载不了

解决方法:连接网络

6、从启动应用到Activity闪屏也的onResume方法执行的时间会比较耗时

解决方法:把闪屏页的背景和图标可以设置在style里。这个style又是和Activity注册在AndroidManifest里的

7、过多的app应用程序

解决方法:关闭其他应用程序

 8、黑白屏并不是不正常的,而是没有加载到布局文件,就已经显示window窗口背景

解决方法:在mainfeist.xml文件 针对window主题 theme设置背景 windowBackground,就可以解决黑白屏问题
 

====================================

解决方法:

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" //平板风格显示

posted @ 2022-11-30 10:29  xiaolehua  阅读(810)  评论(0编辑  收藏  举报