至于app启动时候为什么会白屏,咱们不多赘述,相关的文章以及启动时间优化文章多了去了。咱们这里主要讲述优化完成后如何解决白屏问题。

app启动时候黑屏或者白屏是还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景。这样的话。我们可以将Windows背景设置成和启动页一样的背景。这样就ok了。

解决要点:

  • 设置启动页背景和启动页之前的Windows背景
  • 保证背景不可以被拉伸
  • 保证部分手机底部虚拟键盘不遮挡

设置启动页背景和启动页之前的Windows背景

背景样式我们此处简单的以一个白底。外加一个底部logo,再加一个中间展示图片为例展示,
如下:

1、背景资源

推荐使用这种Layout-list制作背景图片(也可以使用.9图)
这样可以保证图片不会被拉伸

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置整个屏幕背景为白色 --><item><color android:color="@color/white" /></item><!-- 展示图片 --><item android:bottom="124dp"><bitmapandroid:gravity="bottom"android:src="@mipmap/ic_start" /></item><!-- 底部图表 --><itemandroid:height="124dp"android:gravity="bottom"android:bottom="24dp"android:top="16dp"><bitmapandroid:layout_width="64dp"android:layout_height="84dp"android:gravity="bottom|center_horizontal"android:src="@mipmap/ic_start_logo" /></item></layer-list>

2、给Windows设置背景

我们通过theme去设置
theme资源:

    <style name="ThemeSplash" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen"><item name="android:windowBackground">@drawable/layout_list_app_start_bg</item><item name="colorPrimaryDark">@color/white</item><item name="windowActionBar">false</item><item name="windowNoTitle">true</item></style>

重点是:@android:style/Theme.Light.NoTitleBar.Fullscreen

给启动的activity设置theme

 <activityandroid:name=".ui.start.WelcomeActivity"android:screenOrientation="portrait"android:theme="@style/ThemeSplash">
</activity>

3、启动的activity XML布局

我们也采用和启动页相同的布局,这样在启动页加载时候就会无差别的切换

我们再说一下之前为啥设置@android:style/Theme.Light.NoTitleBar.Fullscreen

因为白屏是整个windows的。这样部分手机存在底部虚拟键盘的话。虚拟键盘会遮挡住白屏背景。当切换到welcomeActivity的时候。背景在展示出来。会出现错位。那样效果就不好。

ok。这样就可以了。

Android app启动白屏适配方案相关推荐

  1. android白屏优化方案,优化Android App启动白屏

    问题描述 随着Android App开发时间越来越长,项目中的功能,以及用到的第三方库也越来越多,apk的体积也会越来越大.用户在打开应用时,白屏的时间也越来越长,带来了不好的使用体验,如何才能做到 ...

  2. Android APP启动白屏的解决办法

    平时发现自己写的APP,启动后总有几秒的白屏,很恶心,所以下决心改一下! 下面这个是全局的的Style <style name="AppTheme" parent=" ...

  3. android app启动白屏优化

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wuliang756071448/article/details/74067058 可以看到启动的时候 ...

  4. Android app启动白屏优化

    可以看到启动的时候会有一个白屏, 如果手机较慢的话, 这个白屏就会持续一段时间, 不太友好. 那么还有没有什么办法优化呢? 给我们的应用窗口弄一个PlaceHolder Android最新的Mater ...

  5. android app启动失败,Android应用App启动白屏(黑屏)问题解决

    Android应用App启动白屏(黑屏)问题解决 点击Android手机桌面的应用App icon图标后,Android启动这个应用,正常情况下会立即看到并进入到开发者自己写在MainActivity ...

  6. Android应用App启动白屏(黑屏)问题解决

    Android应用App启动白屏(黑屏)问题解决 点击Android手机桌面的应用App icon图标后,Android启动这个应用,正常情况下会立即看到并进入到开发者自己写在MainActivity ...

  7. Android 开发过程中遇到的棘手的问题笔记(SP引起的ANR,4G网络请求慢,app启动白屏)(持续更新)

    前言 经历过面试的人应该都知道,一般我们在进行技术面试的时候,面试官都会问你,在项目开发中遇到过什么棘手的问题?最后是怎么解决的?本人之前就问到过好几次,可是由于准备不足,一时之间想不起来所遇到过的& ...

  8. linux中白屏变黑屏咋变,解决 APP启动白屏黑屏问题

    闪屏页简介 闪屏页,我们手机上的每个 APP 几乎都有自己的闪屏页,就是在真正进入程序前,会有一个页面停顿几秒钟.其实我们完全可以充分利用好这几秒钟做很多的程序初始化了启动. 为什么我的 APP 启动 ...

  9. 【转】Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23)

    [转]Android APP 启动黑屏优化补丁 (2016-01-18 10:35:23) 转载▼ 这个必须转,这才是高手,解决官方都解决不好的问题! 原文地址,以下为转贴内容: 使用说明 ***** ...

最新文章

  1. ad放置网络标号_PCB工程师必备:AD常用快捷键总结,超级实用
  2. 又见GCD (已知最大公约数和其中一个数求另一个数)
  3. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。
  4. 51单片机(STC89C52RC) lcd1602实验小结
  5. 有关计算机代码的游戏,七灯游戏是一款经典的益智类游戏。游戏中,有七盏灯排成一圈,如图a所示,初始时灯的开关状态随机生成,操作其中某一盏灯,则可以切换该灯的“开/关”状态,同时,这盏灯-组卷网...
  6. 前端学习(3132):react-hello-react之react中事件处理
  7. KVM虚拟化安装配置(一)
  8. iPhone 12搭载5nm A14芯片:晶体管数量高达150亿
  9. 潭州课堂25班:Ph201805201 tornado 项目 第八课 增加喜欢功能(课堂笔记)
  10. Linux命令(1)—— xargs 命令
  11. 用NVAPI获取GPU信息
  12. python编程语言-为什么我不建议你将python作为入门编程语言
  13. 七种qsort排序方法
  14. 首次 golang爬虫插件gocolly/colly 使用经历
  15. 永洪BI强制显示移动端布局
  16. word中插入罗马数字并且设置为Times New Roman字体
  17. 信息安全体系三种不同的系统架构:MIS+S、S-MIS S2-MIS
  18. 系统滴答定时器的应用
  19. python中关于命名的例子_利用Python批量重命名文件(给非技术人员的Python实例参考)...
  20. 支付宝小程序支付(统一收单交易创建接口)

热门文章

  1. 汉诺塔(一) nyist88
  2. SuRF: 一个优化的 Fast Succinct Tries
  3. 零基础到CS开发高手通用权限管理系统全程实录
  4. Android进阶免费直播课,高中免费直播课程平台有哪些
  5. 10V/15V/18V/24V/30V/35V/40V/50V/60V耐高压 LDO IC
  6. Linux遭遇Segmentation fault
  7. Ps 初学者教程「62」如何在图片中创建新背景?
  8. 网络基础知识 Domain 域
  9. 【深度强化学习】8. DDPG算法及部分代码解析
  10. 手写一个抖音视频去水印Java工具,千万别刚一个程序员