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

来源:互联网 发布:linux 删除tomcat日志 编辑:程序博客网 时间:2024/06/06 03:02

问题描述
最近在学习过程中发现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,看看我英俊潇洒的面孔,哈哈~~

原创粉丝点击