splashscreen后的白色屏幕、Ionic2、android设备

splashscreen后的白色屏幕、Ionic2、android设备,ionic2,Ionic2,我目前正在开发Ionic2应用程序。我面临的一个问题是,在启动屏幕之后,在应用程序主屏幕之前,会出现6-7秒的白色屏幕 我尝试了一些谷歌搜索,但没有任何效果。我最后一次尝试解决的问题是 hideSplashScreen() { if(Splashscreen){ setTimeout(() => { Splashscreen.hide(); },100) } };// <preference name="Splas

我目前正在开发Ionic2应用程序。我面临的一个问题是,在启动屏幕之后,在应用程序主屏幕之前,会出现6-7秒的白色屏幕

我尝试了一些谷歌搜索,但没有任何效果。我最后一次尝试解决的问题是

    hideSplashScreen() {
    if(Splashscreen){
      setTimeout(() => {
        Splashscreen.hide();
      },100)
    }
  };//

<preference name="SplashMaintainAspectRatio" value="true"/>
<preference name="FadeSplashScreenDuration" value="300"/>

更新爱奥尼亚项目并更改一些偏好对我来说是个好办法

给你

1-更新至最新版本的
Ionic CLI
Cordova
Typescript

npm uninstall -g ionic cordova typescript
npm install -g ionic cordova typescript
2-更新您的包.json以匹配以下依赖项,删除现有的节点模块目录,然后运行
npm安装

  "scripts": {
    "build": "ionic-app-scripts build",
    "clean": "ionic-app-scripts clean",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "4.0.2",
    "@angular/compiler": "4.0.2",
    "@angular/compiler-cli": "4.0.2",
    "@angular/core": "4.0.2",
    "@angular/forms": "4.0.2",
    "@angular/http": "4.0.2",
    "@angular/platform-browser": "4.0.2",
    "@angular/platform-browser-dynamic": "4.0.2",
    "@ionic-native/core": "3.6.1",
    "@ionic-native/in-app-browser": "3.6.1",
    "@ionic-native/splash-screen": "3.6.1",
    "@ionic-native/status-bar": "3.6.1",
    "@ionic/storage": "2.0.1",
    "ionic-angular": "3.1.1",
    "ionicons": "3.0.0",
    "rxjs": "5.1.1",
    "sw-toolbox": "3.4.0",
    "zone.js": "0.8.9"
  },
  "devDependencies": {
    "@ionic/app-scripts": "1.3.6",
    "typescript": "2.3.2"
  }
3-使用这些首选项更新您的config.xlm(实时评论可以):


4-然后我将最近修改过的一些代码复制/粘贴到我的项目中(Ionic 2演示版和最新的应用程序-检查Github)

现在,该应用程序在没有长屏幕的情况下成功启动

ps:

  • LiveView:
    ionic运行android-l
  • 生产:
    ionic运行android--prod--release
  • 请记住,您必须在app.component.ts中手动隐藏splashscreen(如@Markus Wagner所说):
    this.platform.ready()。然后(()=>{splashscreen.hide();})

编辑:更新至爱奥尼亚v3.1.1(2017-04-28)

默认情况下,启动屏幕在3秒钟后隐藏(请参阅)。但这可能是因为目前你的应用程序还没有准备好

因此,我总是将以下首选项添加到我的config.xml

<preference name="AutoHideSplashScreen" value="false"/>
这在iOS和Android上都适用。

在以下任意CLI命令期间添加--prod标志:

// If iOS
ionic emulate ios --prod
ionic build ios --prod
ionic run ios --prod


// If Android
ionic emulate android --prod
ionic build android --prod
ionic run android --prod
为给定平台构建(准备+编译)爱奥尼亚项目的更多信息

我通过在config.xml上设置正确的参数解决了这个问题

 <preference name="AutoHideSplashScreen" value="false" />
 <preference name="SplashScreenDelay" value="10000" />
 <preference name="FadeSplashScreenDuration" value="1000" />
 <preference name="SplashScreen" value="screen" />
 <preference name="ShowSplashScreen" value="true" />
 <preference name="ShowSplashScreenSpinner" value="false" />
 <preference name="SplashShowOnlyFirstTime" value="false" />
 <preference name="FadeSplashScreen" value="true" />


然后,在我的platform.ready()指令中,我所做的就是Splashscreen.hide()

您使用的是哪个RC版本的ionic?请查看编辑。我从官方的ionic应用程序升级到了RC5,并在config.xml中更改/复制了一些代码,这个问题似乎没有任何技巧就解决了,现在可以正确快速地加载了。如果您需要更多详细信息,我可以添加一个带有infos的回复。@mosca90,您能发布完整的答案吗?谢谢,我今天会尝试。它可以工作,我只在android上检查过,但到目前为止还没有在IOS上检查过。将检查Ios并接受此作为答案。请告诉我,我也对Ios感兴趣:)
this.platform.ready().then(() => {
    Splashscreen.hide();
});
// If iOS
ionic emulate ios --prod
ionic build ios --prod
ionic run ios --prod


// If Android
ionic emulate android --prod
ionic build android --prod
ionic run android --prod
 <preference name="AutoHideSplashScreen" value="false" />
 <preference name="SplashScreenDelay" value="10000" />
 <preference name="FadeSplashScreenDuration" value="1000" />
 <preference name="SplashScreen" value="screen" />
 <preference name="ShowSplashScreen" value="true" />
 <preference name="ShowSplashScreenSpinner" value="false" />
 <preference name="SplashShowOnlyFirstTime" value="false" />
 <preference name="FadeSplashScreen" value="true" />