【发布时间】:2016-12-24 00:31:21
【问题描述】:
我有一个运行 Cordova CLI 6.4.0 的 Cordova 应用程序。在加载过程中,在启动画面后,加载时会出现持续 4-6 秒的空白屏幕。在应用重新加载期间也会发生同样的事情。应用程序不会触发任何事件,无论是在 platform.ready 事件之前还是内部。在搜索后,人们似乎对类似问题取得了一些成功,所有这些都围绕着启动画面和以下配置选项,没有任何建议或想法奏效。
更新
我似乎取得了一些进展,我想我对这里发生的事情有了更多的了解。根据此处的另一篇文章,我将以下行添加到我的 config.xml
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000"/>
现在这两个的行为是显示启动画面(很长一段时间,通常大约 9 秒),然后启动画面消失并加载我的应用程序。因此,它不再是邪恶的白屏,而只是加载非常慢的应用程序,这是我的问题。
/更新
启动画面 -> 4-6 秒空白屏幕 -> 然后应用程序加载和 deviceReady 触发。这发生在 SplashScreenDelay=2000
或者它根本不会显示初始屏幕,而是在应用加载之前有 8-9 秒的空白屏幕。 SplashScreenDelay=0
会发生这种情况我的主应用程序的构造函数和platform.ready中有console.logs,在厄运的白屏解决并消失之前都不会触发。
我已经尝试了以下选项
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="2000" />
和
<preference name="SplashScreenDelay" value="0" />
这很令人困惑,因为它实际上并不是我的应用程序变慢了......它只是加载位,在启动页面和应用程序加载之间有一个空白的白色屏幕,然后才会发生其他任何事情。我愿意尝试任何想法,因为它在这种状态下基本上是不可发布的。
这在 iOS 上根本不会发生,构建和设置都相同,这是一个 Android 特定的问题。我正在运行的设备是 Moto E2。
我正在使用 Ionic,下面是包含插件的列表,因为这似乎是目前最有可能的罪魁祸首。我将不得不在没有某些插件的情况下测试所有内容以查看其性能。
cordova-plugin-console 1.0.5 "Console"
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-facebook4 1.7.4 "Facebook Connect"
cordova-plugin-splashscreen 4.0.1 "Splashscreen"
cordova-plugin-statusbar 2.2.1 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
这是我的完整图标/启动画面定义。
<platform name="android">
<allow-intent href="market:*" />
<icon platform="android" src="resources/icon.png" />
<icon platform="android" qualifier="ldpi" src="resources/icons/android/icon-36-ldpi.png" />
<icon platform="android" qualifier="mdpi" src="resources/icons/android/icon-48-mdpi.png" />
<icon platform="android" qualifier="hdpi" src="resources/icons/android/icon-72-hdpi.png" />
<icon platform="android" qualifier="xhdpi" src="resources/icons/android/icon-96-xhdpi.png" />
<icon platform="android" qualifier="xxhdpi" src="resources/icons/android/icon-144-xxhdpi.png" />
<icon platform="android" qualifier="xxxhdpi" src="resources/icons/android/icon-192-xxxhdpi.png" />
<splash platform="android" src="resources/splash.png" />
<splash platform="android" qualifier="ldpi" src="resources/screens/android/screen-ldpi-portrait.png" />
<splash platform="android" qualifier="mdpi" src="resources/screens/android/screen-mdpi-portrait.png" />
<splash platform="android" qualifier="hdpi" src="resources/screens/android/screen-hdpi-portrait.png" />
<splash platform="android" qualifier="xhdpi" src="resources/screens/android/screen-xhdpi-portrait.png" />
</platform>
【问题讨论】:
-
@Joshia 你在用离子吗?你有什么插件??由于一些有问题的插件会延迟触发设备就绪事件
-
@Gandhi 是的,我是。将插件列表添加到原始问题中