android启动页白屏黑屏问题

开发项目中遇到黑白屏,然后就记录下来啦。。。。

我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,所以这个效果很影响用户体验。

那出现这个黑白屏的现象的原理是什么啦? 知道问题所在然后才好对症下药的。

原因:(借用一个大佬说的)产生这个现象的原因,当我们在启动一个应用时,系统会去检查是否已经存在这样一个进程,如果不存在,就是冷启动。系统和APP本身都有很多工作需要处理。首先系统的服务会先检查startActivity中的intent的信息,然后在去创建进程,最后才是执行启动Acitivy的操作。而我们上面提到的显示白黑屏的问题,就是在这段时间内产生的。

系统在绘制页面加载布局之前,首先会初始化窗口(Window),而在进行这一步操作时,系统会根据我们设置的Theme来指定它的Theme 主题颜色,Window 布局的顶层时DecorView,StartingWindow显示一个空DecorView,我们在Style中的设置就决定了显示的是白屏还是黑屏。


发现问题所在:那我在 在清单文件 在AndroidManifest文件中设置: 修改Stlyle 样式:

 出现白屏系统默认的背景颜色是白色的 还有 黑色 

<!--***************默认样式***************-->

    <!-- Base application theme. -->

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/colorPrimary</item>

        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

        <item name="colorAccent">@color/colorAccent</item>

    </style>

所以可以自定义  Stlyle 的样式  :

1  将启动的 白屏替换为 自定义的图片

相对应的启动页

这样黑白屏的问题就处理啦。

那么:Window 布局的顶层时DecorView,StartingWindow显示一个空DecorView,那我们可以关闭这个吗?当然是可以的。


当这样做流畅性不是很好的,还是推荐使用第一种,自定义样式 winddowbackground 使用 背景图片 和 xml 布局都是可以的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 当系统启动一个App时,zygote进程会首先创建一个新的进程去运行这个App,但是进程的创建是需要时间的,在创建...
    敏捷Studio阅读 7,349评论 0 1
  • 在网上搜索了许多关于app启动白屏的文章大致分为两类 第一种是在style的app的theme 里设置 true ...
    licue阅读 11,081评论 0 0
  • 一般情况下 我们在启动APP的时候,屏幕会出现一段时间的白屏或者黑屏,不同的设备可能白屏黑屏显示的时间长短不同,设...
    Lost_Robot阅读 1,562评论 0 0
  • 在开发过程中我们发现在启动有些app的时候,出现短时间黑屏或者白屏闪烁之后进入开屏页面,但是有些app在启动的过程...
    GerDScarlet阅读 8,248评论 1 15
  • 【題棠棣花】 棠棣揚眉對落陽, 帝京向晚暮雲蒼。 丹墀欲染英雄血, 盛景難銷劍斧光。 半世期頤遊子淚, 千年輪轉故...
    小妇阿达阅读 1,463评论 0 1

友情链接更多精彩内容