【发布时间】:2015-03-19 21:35:52
【问题描述】:
我有一个使用 Backbone.js 和大约 20 个供应商库(JQuery、Paper.js、...)的混合 Web 应用程序。这个 web 应用直接在不同的浏览器上使用,在 Android 的 webview 和 iOS 的 webview 中(不是最新的 iOS webview WKWebView)。
我尝试优化静态资产交付以避免 iOS 和 Android 应用程序中的延迟。 在生产中,我创建了 3 个捆绑包: - 1 个用于我的 JS 文件 (383kB) - 1 个用于所有供应商 JS 文件 (918kB) - 1 个用于我的 CSS 文件和供应商 CSS 文件 (209kB)
每个包都被缩小和版本化。
我想知道直接使用他们 CDN 中的供应商文件还是使用我的 CDN 中的大型供应商捆绑包更有效?
通过从我的 CDN 提供 3 个捆绑包,我减少了请求数量,但加载和解析这个巨大的文件需要时间。
通过从他们的 CDN 调用每个供应商,我为每个文件发出 1 个请求,但大多数访问者已经在内存中拥有 JQuery 和其他一些库,因此他们不会再次下载它。
优化 Webview 的最佳方法是什么?
【问题讨论】:
-
首次加载应用时,您应该利用 AppCache API 在本地存储所有这些资产。
标签: android ios performance backbone.js webview