android黑屏日志_Android启动页黑屏的解决方案
一般APP启动都会显示一个白屏或者黑屏的页面,再跳到欢迎页,这样子的体验效果不好。这到底是怎么回事呢?要如何解决它呢?今天我们来分析下它产生的原因,以及解决方案。
1、产生原因
当系统启动一个APP时,zygote进程首先会创建一个进程去执行这个APP,但是创建进程是需要时间的,用户点击后以为没响应会再次点击,这样的体验效果不佳。为了解决这种迷之尴尬,Android系统会根据你的manifest中设置的主体颜色来显示一个白屏或者黑屏,它的正式称呼是Preview window,即预览窗口。
2、解决方案
这个问题的本质是,虽然代码还没执行,但是配置文件被提前读取了,所以我们主要针对mainfest来解决这个问题,更准确的说,是主题配置文件。
(1)修改启动的Activity的主题
具体方法如下: style.xlm
@drawable/splash_icon
同样将主题设置到启动的Activity的主题中,windowBackground就是即将展示的preview window。其中splash_icon可以是一整张图片,网上很多小伙伴也都是这么做的。
其实它也可以是一个能解析出图片资源的XML文件,好像只有layer-list这种能做得到,因为它能够将多个drawable叠加起来展示。
这样子就可以解决黑白屏的问题了。
(2)进一步优化:添加动画
一般我们的APP启动后都会有欢迎页,然后再进入主页。按照上面的做法,会先显示图片,接着显示欢迎页,然后到主页,由图片到欢迎页的跳转过渡很突兀,强迫症分分钟不能忍呀~
所以我们进行进一步的优化:添加动画。
实际上Preview window只能是静态图,展示不了动画。我们的做法是在跳到欢迎页中实现动画,就是在Preview widow跳转到欢迎页时,先显示一个跟Preview window页面一模一样的页面,让人觉得好像没有切换似的,然后再慢慢切换到欢迎页。
这里有个小问题要注意下:我们给Preview window设置的背景图如果不作处理,是会一直存在在内存中的,所以在进入欢迎页的onCreate中将背景图还原:
getWindow().setBackgroundDrawableResource(android.R.color.white);
到此启动页黑白屏的问题可以交货咯~
android黑屏日志_Android启动页黑屏的解决方案相关推荐
- android广告页白屏_Android 启动页白屏解决方案
当我们打开app的时候是不是会有一瞬间的白屏然后再进入主活动,虽然这并不会造成什么不好的后果,但是感觉用户体验就不是很好.像网易云音乐等等,打开一瞬间就显示了他们的loge,无缝衔接,没有白屏,怎么 ...
- Android系统(121)---Android启动页黑屏及最优解决方案
Android启动页黑屏及最优解决方案 前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页.那么这个黑屏或者白屏 ...
- Android 系统(119)---Android启动页黑屏及最优解决方案
Android启动页黑屏及最优解决方案 前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页.那么这个黑屏或者白屏 ...
- android最优化启动画面,Android启动页黑屏及最优解决方案
原标题:Android启动页黑屏及最优解决方案 作者:拉丁吴 链接:https://juejin.im/post/58ad90518ac2472a2ad9b684 前言 相信做过Android的朋友都 ...
- android 加载图片黑屏,Android 中启动页黑屏及白屏的解决方式
启动页黑屏或白屏的原因是,当Activity启动的时候不能马上加载layout. 而黑屏或者白屏是你的theme主题的默认样式,当layout没加载出来就显示黑屏或者白屏. 1.windowBackg ...
- Flutter——踩坑之旅(iOS闪屏页+启动页 闪屏之后会黑一下才进入启动页)
程序猿日常 flutter填坑--iOS闪屏页+启动页效果优化 闪屏之后会黑一下进入启动页 问题描述 大部分app都有自己的启动页,我们经常在启动页做一些判断逻辑,例如 是否第一次启动app,第一次启 ...
- 解决 Android APP 启动页白屏问题及如何实现全屏显示
目录 一.白屏原因分析 二.解决白屏方案 方案一.提供 .png 背景图 方案二.使用 Layout-list 制作背景 1. 制作替代白屏的背景:bg_splash.xml 2. 将 bg_spl ...
- Android APP应用启动页白屏(StartingWindow)优化
转自:https://www.cnblogs.com/whycxb/p/9312914.html 本人采用这种方法没有效果,启动图片出来第一帧,我应用的第一帧也出来了. 启动背景颜色没有调试出来,Th ...
- Android启动页白屏背景图拉伸的解决方案
Android启动页白屏&背景图拉伸的解决方案 1.前言 2.问题点 3.代码及说明 4.注意点 1.前言 新项目的闪屏页面用到一张大图,UI那边要求那张图片填充全屏,而且不能压缩或拉伸. 然 ...
最新文章
- iOS中常见的图片压缩方法
- c++ 句柄 计算控件坐标_练习答案|| 计算机基础第【28】期
- 区块链去中心化的生命之源:“DPOS(委托权益证明)共识机制”
- 全球及中国磁性分离头滑轮行业发展潜力与投资策略分析报告2022版
- Horizon组件安装详解 - 远程连接OpenStack服务
- 正态分布图_用EXCEL简易制作正态分布图
- 深入理解条件过滤Conditional
- python遍历链表_四种常见链表的实现及时间复杂度分析(Python3版)
- 使用trycatch获取异常问题
- 拉格朗日法建立动力学方程
- 千年3步法外挂 千年3脚本 千年3外挂 千年3最新外挂
- java字符串不足长度自动补0
- 理论力学知识要点(五)
- TOM企业邮箱注册流程是什么,如何开通邮箱
- LabVIEW编程LabVIEW开发 十六进制转换ASCII例程与相关资料
- DataStage 简介
- Android学习——5个UI界面设计
- 专家谈房产两难:力图房价回归理性 担心地产崩溃
- 基于炜煌单片机的lcd12864上下左右移动程序,芯片类型stc12c5a60s2
- 理解递归的返回——递归查询地区表
热门文章
- Django讲课笔记07:设置路由分发规则
- Intel 64/x86_64/IA-32/x86处理器指令集 - CPUID (1) - 概述
- Pentium II Pentium III架构/微架构/流水线 (5) - MMX
- ansys怎么使用anand模型_【干货】经典ANSYS 与 Workbench如何实现联合仿真,相互切换操作。...
- python程序内存分析_python 如何测量运行中的程序内存 -- Valgrind
- 在vscode运行js 输出会合并_前端系列——JS的运行与输出
- python打开csv文件绘制折线图,[转载]python绘制简单折线图
- 微信小程序动态更改标题栏_微信小程序实现动态设置页面标题的方法【附源码下载】...
- MySQL子查询的使用
- python多线程控制暂停_python中的多线程编程与暂停、播放音频的结合