繁体   English   中英

修改Cordova插件加载行为以加快加载时间

[英]Modify Cordova Plugin loading behaviour to speed up load time

我正在寻找一种方法来加快Cordova上的插件加载,所以我可以最早显示我的UI(UI在第一次启动时没有严格需要所有插件)。

到目前为止我尝试了什么:

  • 根据文档,我尝试添加: <param name="onload" value="false" /> ; 对于我正在加载的每个功能。 没有帮助。 关于SO的相关查询

  • 已将app初始化代码移出deviceReady (初始化不需要Cordova特定位)。

我是如何得出插件是瓶颈的结论? 如下:

  • 我卸载了应用程序所需的所有插件(其中23个!),加载时间缩短了2.5到3秒。 所以我确信这是一个瓶颈。

  • 此外,我删除了所有JS和CSS,包括cordova.js并加载了一个空白的HTML页面。 有插件和没有插件。 差异很大。

总的来说问题是,在插件的所有本机代码都没有运行之前,WebView本身不会出现。 更多的插件,更多的时间是可见的。 有没有办法让Cordova立即加载WebView并让JS在后台初始化插件时加载并在必要时触发deviceReady 我可以在稍后的时间做特定的Cordova。

有关:

  1. 在API加载之前在Cordova中显示webView
  2. phonegap插件onload = false无效

我同情你的目标,但你不能从萝卜中获取牛奶。

使用onload=false的想法, <feature (...)>已被弃用。 按照底部的链接,阅读#12。

在另一个问题上,很明显,提问的人不知道这是不可能的。

所有Cordova / Phonegap平台的主UI查看器都是一个名为WebView的库(在Android中,在其他平台上类似, 请参阅 )所有这些库都有一个共同点,即不加载,Javascript或其他工具可以实现它一个完整的webbrowser。 因此,Javascript必须启用(通过Cordova)并加载(由OS)。 直到HTML文档的所有其他部分都被识别(但可能没有加载)才会发生这种情况; 这包括CSS,字体,图像和图标(如果需要)。

但是,在后面的项目中,例如CSS,时间可以弥补 - 如果CSS已经优化。 很多时候开发人员不进行这种优化,因为需要提供一个里程碑(而且他们通常永远不会返回来修复它)。

回到插件,确实需要一些时间来加载插件,但通常不清楚为什么插件花费太长时间。 加载后的插件必须进行* some *初始化,但需要多长时间取决于插件。 例如,地理定位(GPS)插件可能需要长达10秒才能获得可用的读数。

  • 加载时间试图调整加载时间几乎不会有用,因为无论插件如何,插件都需要加载它所需的内容。
  • 初始时间尝试调整插件的内部是您应该与作者进行的讨论。

另外,我可以推测为什么有些插件花了这么长时间,但我不知道你在使用哪个插件; 所以这将是徒劳的努力。

最后,有*可能*某种方法可以缩短启动时间, 启动时间和用户准备时间 ,但我听说没有,我没有看到。 这包括我对Cordova,Phonegap,Android和Apple的iOS文档的阅读。

在开发过程中,本文档可能非常有用
Cordova / Phonegap新手的开发人员面临的重大错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM