从应用商店下载混合应用程序时,会在设备上下载哪些资产?

时间:2017-04-21 11:59:45

标签: android ios ionic-framework hybrid-mobile-app

我是超级好奇,在互联网上花了几个小时,但我能找到的只是html5,混合和原生应用程序"的优点和缺点。 sytle blogs。

如果移动应用程序执行速度快于Web应用程序(除了应用程序可以使用设备核心功能的事实)的原因之一就是资产存储在设备内存中,因此不必通过互联网获取,只有信息(JSON)传输过来互联网。这减少了加载时间,减少了加载新页面的时间(您只需要获取JSON)并增加了离线体验。

我有一种生活在混合应用程序相同的世界 - 资产存储在设备中。但是在离子文档中我发现了这个:

  

Angular模板的优点是可以加载它们   任何地方:本地或远程。模板的URL是唯一的   标识符,如果模板是在本地定义的,则将获取它   本地。模板是分离布局和UI的好方法,所以我们   广泛使用它们。

这表明如果本地未定义模板,则不会在本地获取模板,这使我假设我的www文件夹中定义的模板将通过Internet调用。

此外,我在他们的文档中找到了一个位置(真的找不到确切的词来qoute),他们建议在脚本标签内定义模板,否则它们将通过互联网获取。

这让我想知道当我从应用商店或谷歌播放下载应用程序时,我的设备上实际下载了哪些文件?

我发现在实际开始使用任何框架开发混合应用程序之前理解这一点非常重要,因为我找不到有关此主题的任何信息,我希望这个问题与其他开发混合应用程序的开发人员相关发展。

1 个答案:

答案 0 :(得分:0)

简而言之,您的整个www文件夹都会下载到设备上,无论其中的文件是否被使用。整个文件夹始终复制到应用程序中并由用户下载。此外,应用程序中还包含许多与Cordova相关的内容,例如插件。

查看应用程序中捆绑内容的最简单方法是为iOS或Android构建一个并在Android Studio或Xcode中打开它并查看其中的内容,它应该让您对用户获得的内容有一个很好的概述

  

这表明如果没有在本地定义模板,那么它就不会   在本地获取,让我假设模板是   在我的www文件夹中定义的将通过互联网调用。

我不完全确定你对这句话的意思。如果您的应用中未定义模板,则可以选择通过互联网加载模板,但为什么不定义?如果您的www文件夹中定义了模板,那么如何才能在您的应用中定义该模板?

所以你链接到an article,描述了在Ionic和Angular中定义模板的不同方法。加载模板和使用ng-template定义模板之间的区别与您可以在同一HTML文件中包含多个ng-template这一事实有关,这意味着您无需从其他模板加载任何模板文件。基本上,如果你加载一个文件并且那里有多个ng-template,那么一旦加载文件就会缓存它们,这可能会提高性能。我无法找到有关两种方法之间差异的令人信服的证据,它似乎相对较小。这两个问题也回答了类似的问题,您可以找到它们herehere