解决Android应用冷启动时出现的白屏问题的方法
时间:2019-03-31
本文章向大家介绍解决Android应用冷启动时出现的白屏问题的方法,主要包括解决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类似。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- JavaSE - 多态的本质
- Result Maps collection does not contain value for XXX 错误
- 当端口被占用如何kill占用端口的进程
- 将本地仓库同步到Github上的远程仓库
- 毫不留情地揭开 ArrayList 和 LinkedList 之间的神秘面纱
- 关于void QProcess::start参数问题的解决
- Python格式化输出
- 多线程 - 生产者消费者模式
- TCP的三次握手和四次挥手
- Springboot异常处理
- Excel实战技巧84: 让形状生动起来
- 利用Python进行组合数计算
- Docker下解决mysql出现"the table is full"的问题
- unity3d 5.0中Renderer后面没有了material
- 在windows下检查应用程序是否为兼容模式启动及使用Qt输出系统信息