首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova,Android,装载速度非常慢

Cordova,Android,装载速度非常慢
EN

Stack Overflow用户
提问于 2016-12-24 00:31:21
回答 4查看 9.4K关注 0票数 8

我有一个Cordova应用程序运行Cordova CLI 6.4.0。在加载期间,有一个空白的白色屏幕,在一个坚实的4-6秒的负载后,飞溅屏幕。同样的事情发生在应用程序重新加载过程中。无论是在platform.ready事件之前还是内部,应用程序都不会触发任何事件。在搜索之后,人们似乎在类似的问题上取得了一些成功,主要围绕着下面的配置选项,这些建议或想法都没有奏效。

更新

我似乎已经取得了一些进展,我想我更了解这里发生了什么。在这里的另一篇文章中,我将下面的行添加到我的config.xml中

代码语言:javascript
复制
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000"/>

现在的行为,这两个,是Splash屏幕显示(很长时间,通常约9秒),然后飞溅消失,我的应用程序加载。所以它不再是一个邪恶的白色屏幕,只是一个非常缓慢的加载应用程序,这是我的问题。

/Update

Screen -> 4-6秒空白白色屏幕->,然后应用程序加载并触发deviceReady。这种情况发生在SplashScreenDelay=2000上

或者,它根本不会显示启动屏幕,而是在应用程序加载之前有8-9秒的空白白屏幕。这种情况发生在SplashScreenDelay=0上

我在我的主应用程序的构造函数中有console.logs,在platform.ready上,直到毁灭的白色屏幕被解决和消失之前,我都不会开火。

我试过以下几种选择

代码语言:javascript
复制
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="2000" />

代码语言:javascript
复制
<preference name="SplashScreenDelay" value="0" />

这很让人困惑,因为不是我的应用程序慢.它只是加载位,在启动页面和应用程序加载之间有一个空白的白屏幕,然后再发生其他事情。我愿意尝试任何想法,因为它在这个州基本上是不可发布的。

这在iOS上根本没有发生,在构建和设置都相同的情况下,这是一个特定于安卓的问题。我正在运行的设备是一个Moto E2。

我正在使用Ionic和下面是一个包含插件的列表,因为这似乎是目前最有可能的罪魁祸首。我将不得不测试所有没有特定插件的一切,看看它是如何执行的。

代码语言:javascript
复制
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"

这是我的完整图标/飞溅定义。

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-27 17:35:11

找到另一个这样的答案,但我已经用下面的方法解决了

代码语言:javascript
复制
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000"/>

这个应用程序仍然要花很长时间才能加载(通常大约是9秒),但我至少避免了白屏幕上的胡说八道。

票数 1
EN

Stack Overflow用户

发布于 2017-11-09 08:20:17

当您构建apk-文件时,确保在命令中包含“-prod”:

代码语言:javascript
复制
ionic cordova build --release --prod android

这将优化性能,并将应用程序中的启动时间从15秒(调试生成)减少到3秒(生产生成)。

票数 5
EN

Stack Overflow用户

发布于 2017-02-06 11:19:27

我们可以通过减少资产来快速加载应用程序。但是如果这是不可能的,那么我们可以改进用户体验(而不是显示空白屏幕,我们可以显示启动屏幕,直到所有资产加载)。

在config.xml中,将自动启动屏幕设置为false。

<preference name="AutoHideSplashScreen" value="false" />

为应用程序特定事件创建单独的javascript文件,并在index.html中链接该文件

在javascript文件中,捕获DeviceReady事件。在DeviceReady事件处理程序中,隐藏启动屏幕。请看下面的代码。

代码语言:javascript
复制
var app = {
    // Application Constructor
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
        //You can register other plugin specific events here and handle them.
    },

    onDeviceReady: function() {
        navigator.splashscreen.hide();
    } 
}
};

app.initialize();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41309273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档