写启动界面Splash的正确姿势,解决启动白屏(转)
- 在里面做一些事,比如:第一次启动时拷贝数据。
- 然后让启动界面一定待够一定时间,比如两秒三秒的。
就在前两天我打开app的时候,我感觉启动界面的时间太长了,而且为什么会先白屏一下然后进入启动界面。很多app都有启动界面,也有很多app没有启动界面,但是我发现这些没有启动界面的app,当我点击桌面那个icon的时候,也会先白屏一下,然后进入主页。
然后我决定做两件事:
- 做完启动界面的事就进入首页,不故意睡了。
- 消灭白屏(跟主题设置的关系也有可能是黑屏),在点击桌面app icon的瞬间开启启动界面,因为我点了美团,发现它是秒开的。。
如何消灭白屏
- 删除启动界面的xml布局,删除setContentView。
- 在res/drawable里写一个这种玩意:
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><bitmapandroid:id="@+id/bitmap_splash"android:src="@mipmap/splash_bg"></bitmap></item><itemandroid:top="@dimen/splash_logo_marginTop"><bitmapandroid:gravity="top"android:src="@mipmap/splash_logo"></bitmap></item><itemandroid:bottom="80dp"><bitmapandroid:gravity="bottom"android:src="@mipmap/splash_word"></bitmap></item></layer-list>item有drawable属性,但是不能接收mipmap参数,所以我又包了bitmap。
- 在style里配置主题,我这里AppBaseTheme的parent是Theme.AppCompat.Light.NoActionBar,然后还有其他的一些配置。
<style name="Splash" parent="AppBaseTheme">
<item name="android:windowBackground">@drawable/splash</item>
</style> - 在manifest中splash的activity标签中配置主题:
...
android:theme="@style/Splash"... - 启动一下看看效果吧。
网上搜启动消除白屏的方法,有设置启动界面主题的背景为透明的,splash的xml布局还和以前一样,这样确实不白屏了,但是点击桌面上的icon开始会等一会splash才会出现,体验也不好。
参考
写启动界面Splash的正确姿势,解决启动白屏(转)的更多相关文章
- Vue解决项目白屏
第一步: vue-cli项目根目录下面新建Vue.config.js文件 proxy反向代理 module.exports = { devServer: { proxy: { ...
- iOS-APP中添加启动界面
iOS,非常高兴的又回到了这个领域.纠结的就业之路...找工作的这段时间里,原本以为是iOS的游戏开发,却一直只有后台的offer,到Android,最后正式上班的时候却被告知调到了iOS开发,当然不 ...
- Android -- 程序启动画面 Splash
很多应用都会有一个启动界面.欢迎画面慢慢隐现,然后慢慢消隐. 我的方式是使用两个Activity,程序启动时候load第一张Activity,然后由tick触发N秒钟后startActivity另外一 ...
- react native 完美解决启动白屏
先讲下我的RN版本0.58.5 首先安装react-native-splash-screen(目前使用的版本是3.2.0) 项目地址https://github.com/crazycodeboy/re ...
- 启动欢迎页面时,Android Studio设置全屏Activity
问题 如何在Android Studio中做一个全屏的启动界面(Splash Activity)? 背景(基本是废话,没兴趣的请跳过) 前段时间把IED换成Android Studio2.2之后,碰到 ...
- ionic2 解决白屏问题
ionic2下创建项目后,运行启动页后白屏几秒,解决方案 问题描述 最近在学习过程中发现ionic2项目运行在真机上,启动页后会有3-5秒的白屏时间,用户体验不是太好. 解决过程 查看到了一篇关于这个 ...
- ionic2 关于启动后白屏问题跟app启动慢的问题
问题描述: 在ionic2下创建的项目打包生成apk,运行在真机上,进入启动页然后有5秒左右的白屏情况才进入首页,在真实项目中更严重,启动画面后更有时候十几秒都是白屏,体验性非常差. 在各种搜索之下, ...
- React Native Android启动白屏的一种解决方案上
我们用RN去开发Android应用的时候,我们会发现一个很明显的问题,这个问题就是启动时每次都会有1~3秒的白屏时间,直到项目加载出来 为什么会出现这个问题? RN开发的应用在启动时,首先会将js b ...
- 剖析和解决Python中网络粘包的正确姿势
目录 1.粘包及其成因 1.1.粘包产生 1.2.粘包产生的原因 2.尝试解决粘包 2.1.指定数据包的长度 2.2.固定数据包的长度 2.3.用函数实现多次调用发送数据 3.解决粘包问题的正确姿势 ...
随机推荐
- android camera setMeteringArea详解
摘要: 本文为作者原创,未经允许不得转载:原文由作者发表在博客园:http://www.cnblogs.com/panxiaochun/p/5802814.html setMeteringArea() ...
- Servlet分页技术
这是看韩顺平老师的servlet视频,自己动手写的,楼主看韩顺平老师的servlet是2006制作的,用的是sql server数据库,自己又用的是oracle数据库,所以怕有的同学遇到同样的问题,不 ...
- leetcode-Count Primes 以及python的小特性
题目大家都非常熟悉,求小于n的所有素数的个数. 自己写的python 代码老是通不过时间门槛,无奈去看了看大家写的code.下面是我看到的投票最高的code: class Solution: # @p ...
- java 解决中文乱码
//1.代码解决 public class LuanMa { public static String getNewString(String luanma){ String result = &qu ...
- python pyperclip模块的使用
用途: 复制,粘贴 用法: >>> import pyperclip >>> pyperclip.copy('Hello world!') >>> ...
- AC日记——单词倒排 1.7 28
28:单词倒排 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输 ...
- Java面向对象一
一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应 ...
- Nginx针对https站点的部署
一.Nginx安装(略)安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块.Nginx安装方法:# ./configur ...
- php常见知识
printf("%.nf",&f);这个n代表显示浮点数时,小数点后显示几位:0就是不显示小数点后的数,1就是显示小数点后1位:
- php常见问题以及解决方法
在使用php的过程中,经常会出现一些问题,下面是我遇到的一些问题以及解决方法 1,乱码问题,中文乱码问题 原因是:编码方式不一样,有UTF-8,gbk-2312等编码方式,不同的编码方式导致浏览器在解 ...