解决Android应用冷启动时出现的白屏问题的方法
作者:阳春面 发布时间:2023-12-16 02:57:36
标签:android,冷启动,白屏
Android 应用冷启动时,需要从Application开始启动,加载时间就会比较长,容易出现白色或黑色闪屏,观察一下手机上一些 其他APP 比如 微信、京东等就不存在这个现象。
原因分析
分析一下原因,其实是跟闪屏Activity的主题有关,比如使用了Theme.AppCompat.Light.DarkActionBar主题的话,其中指定了windowBackground,所以背景就是白色的了。
<itemname="android:windowBackground">@color/background_material_light</item>
解决方案
设置Theme
我们需要在 manifest指定SplashActivity的theme
<activity
android:name=".SplashActivity"
android:theme="@style/AppTheme.Splash">
...
</activity>
设置 Style 背景图片
<style name="AppTheme.Splash" parent="AppTheme">
<item name="android:windowBackground">@mipmap/splash</item>
<item name="android:windowNoTitle">true</item>
</style>
这个style只是用来做闪屏的主题,APP的默认主题还是使用AppTheme
这种设置后默认先是出现APP内置的闪屏图片,然后在SplashActivity中再动态加载在线闪屏,最后进入主界面。最终实现效果与京东的APP类似。
来源:http://www.jianshu.com/p/9dac5e59ea49?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 1.static静态变量1.静态变量被同一个类的所有对象共享2.static类变量在类加载的时候就生成使用static保存在class实例的
- 实现的效果图:自定义Fragment继承BottomSheetDialogFragment重写它的三个方法:onCreateDialog()
- 概述冒泡排序是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行
- 前言最近遇到一个Jvm old过高的案例,现象是一个站点的jvm old区过高,分析原因是,原来的设计方案有问题,给前端返回的数据里面包含了
- 最近做了一个小工具,在Winform中对Picture控件有一个需求,可以通过鼠标从外部拖拽图片到控件的上,释放鼠标,显示图片!首先你需要对
- jdk安装有两种方式:第一种是使用yum命令一键安装,默认安装目录在/usr/lib/jvm第二种是手动安装,须去oracle官网下载jdk
- 最近找了一些资料,是讲在C#中设置快捷键运行方法或程序的 要设置快捷键必须使用user32.dll下面的两个方法。 BOOL Re
- 本文实例讲述了C#简单读写txt文件的方法。分享给大家供大家参考,具体如下://write txtStringBuilder builder
- Maven打包一般可以生成两种包一种是可以直接运行的包,一种是依赖包(只是编译包)。Maven默认打包时jar,如果需要修改其他类型。可以修
- java返回json请求中文变成问号原来在个人项目时,用layui的数据表格获取数据时,不会出现中文变问号问题后来换了个项目,发现返回的js
- 基于比较的排序算法基本原理及Java实现1. 七大基于比较的排序-总览1.1常见基于比较的排序分类1.2时间复杂度,空间复杂度以及稳定性。稳
- 通常浏览器都有将网页生成图片的功能,本文实例讲述了Winform实现将网页生成图片的方法。分享给大家供大家参考。具体方法如下:工具截图如下:
- 面试题一:判断下列程序运行结果package String_test;public class test_1 { public static
- Feign导入依赖为unknow的情况网上很多人在使用的feign时在pom.xml中的依赖为:<!-- SpringCloud 整合
- 本文开始做一个网上商城的项目,首先从搭建环境开始,一步步
- 这个小代码是我凭自己对指针和链表的理解和认识,自己实现的,没有参考其他人的代码,如果有相同的地方,那真的只是巧合,代码我在ubuntu 15
- 1.object:匿名内部类在Android最常用的匿名内部类之一就是点击事件,用Java语言写的话就是下面这样:public interf
- 前言Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上
- 我就废话不多说了,大家还是直接看代码吧~<resultMap id="ParentMap" type="
- 本文实例讲述了C#简单遍历指定文件夹中所有文件的方法。分享给大家供大家参考,具体如下:C#遍历指定文件夹中的所有文件:DirectoryIn