ionic2+启动白屏问题-------之补充解决之道

问题描述
最近在学习过程中发现ionic2项目运行在真机上,启动页后会有3-5秒的白屏时间,用户体验不是太好。
解决过程
查看到了一篇关于这个问题的博客,但是是ionic1版本下的解决方案,有些差异,在查询ionic官方文档后,找到了ionic2版本的解决方案。
ionic1版本解决方案原址:http://blog.csdn.net/dounainaicsdn/article/details/50767667
步骤
1.首先我们要先添加这个cordova组件
cd cordova plugin add cordova-plugin-splashscreen
2.然后可以更换我们的启动页面,配置config.xml文件(可略过,不更换也可)
在 标签里面添加下面的代码:







3.接下来我们就要配置启动页面的一些属性了,在config.xml追加以下属性:






这些属性的名字都很直观,可以大致了解什么意思,官方文档上也有讲这个,不懂可以去看看:
4.最后我们在app.ts文件下,手动调用splashscreen的hide()方法即可
打开app目录下的app.ts文件
首先导入Splashscreen
import { Splashscreen } from ‘ionic-native’;
接下来在函数里调用 Splashscreen.hide()
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();

  setTimeout(function () {
    Splashscreen.hide();
  }, 1000);

});

5.大工告成,运行一下项目试试吧,just enjoy

作者: Mr青阳
链接:http://www.imooc.com/article/12547?block_id=tuijian_wz
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!


重点!!!!!!!!

肯定我要说的问题不是上面的喽,上面能解决绝大部分,但是也有例外,我只搞例外。


问题由来:
有时候图片啥的(除二把刀的美工制作的图片问题)导致 解决表了的白屏问题。app启动,在装载好js前是不会渲染出来页面的,那么这个装载所消耗的事件就会导致platform.ready().then(() => {Splashscreen.hide();}) 。Splashscreen是隐藏掉了,但是app的第一个页面没渲染出来,白屏出现。


解决之道:

怎么解决,道理很简单,说出来吓傻你——————在第一个要展示页面的时候隐藏Splashscreen。


所以根组件中platform.ready().then(() => {Splashscreen.hide();}) 改成platform.ready().then(() => {})
在第一页面渲染时,干掉Splashscreen,代码:Splashscreen.hide();,


怎么干掉,哥你放过我吧,多写一字我会累死的—-详情见ionic2生命周期钩子(这个你不清楚,我劝你还是放弃ionic2+),别问我,我很懒,觉得有用请顶起。


有空帮我点个https://github.com/841660202 给个star,看看我英俊潇洒的面孔,哈哈~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值