Android启动APP时黑屏白屏的解决方法

 更新时间:2018年07月26日 15:31:49   作者:记录自己的点点滴滴  
这篇文章主要为大家详细介绍了Android启动APP时黑屏白屏的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在开发中,我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,不同设备时间长短不同。很影响用户体验。

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

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

最简单的解决方法

既然黑白屏是根据我们设置的Theme来决定的,那我们就可以直接从启动页的Theme入手,解决这个问题。

第一步:在style文件中定义如下

<!--***************启动页Theme***************-->

 <style name="Theme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="windowNoTitle">true</item>
  <item name="android:windowContentOverlay">@null</item>
  <item name="android:windowBackground">@drawable/splash_pic</item>
  <item name="android:windowFullscreen">true</item>
</style>

第二步:在AndroidManifest中设置启动页Theme

<activity
   android:name=".ui.SplashActivity"
   android:theme="@style/Theme.Splash"
   android:screenOrientation="portrait">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

如上,我们给启动页设置一个全屏的背景图片,这样就不用显示默认的主题颜色了。

按照以上配置,这样就能避免白屏或者黑屏问题了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android实现通知栏下载更新app示例

    android实现通知栏下载更新app示例

    这篇文章主要介绍了android实现通知栏下载更新app示例,需要的朋友可以参考下
    2014-03-03
  • Android View 绘制机制的详解

    Android View 绘制机制的详解

    这篇文章主要介绍了Android View 绘制机制的详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Android自定义可左右滑动和点击的折线图

    Android自定义可左右滑动和点击的折线图

    这篇文章主要为大家详细介绍了Android自定义可左右滑动和点击的折线图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • DataBinding onClick的七种点击方式

    DataBinding onClick的七种点击方式

    这篇文章主要给大家介绍了关于DataBinding onClick的七种点击方式,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Android自定义view实现输入控件

    Android自定义view实现输入控件

    这篇文章主要为大家详细介绍了Android自定义view实现输入控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android ExpandableListView双层嵌套实现三级树形菜单

    Android ExpandableListView双层嵌套实现三级树形菜单

    这篇文章主要介绍了Android ExpandableListView双层嵌套实现三级树形菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android异常处理最佳实践

    Android异常处理最佳实践

    这篇文章主要为大家详细介绍了Android异常处理最佳实践,介绍了一个优秀的app异常处理机制包括什么,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • android 分辨率适配的方法

    android 分辨率适配的方法

    先和大家分享下,这个方法不能说万能的,但是最起码它解决了分辨率跟密集度的关系,但是也引来一个问题,就是布局会因为图片资源小而失真,本文将详细介绍android 分辨率适配的方法,需要的朋友可以参考下
    2012-11-11
  • 详解Android Dialog对话框的五种形式

    详解Android Dialog对话框的五种形式

    这篇文章主要为大家详细介绍了Android对话框的五种形式,一般对话框,列表对话框,单选按钮对话框,多选按钮对话框,自定义对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 关于RxJava的一些特殊用法小结

    关于RxJava的一些特殊用法小结

    RxJava 是一个响应式编程框架,采用观察者设计模式。下面这篇文章主要总结介绍了一些关于RxJava的特殊用法,需要的朋友可以参考借鉴,下面跟着小编一起来学习学习吧。
    2017-05-05

最新评论