OStack程序员社区-中国程序员成长平台

标题: android - 从应用商店下载混合应用时,哪些 Assets 会下载到设备上? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:32
标题: android - 从应用商店下载混合应用时,哪些 Assets 会下载到设备上?

我是 super 古玩,在互联网上花了几个小时,但我只能找到“html5、混合和原生应用程序的优点和缺点”风格的博客。

移动应用程序执行速度比网络应用程序更快的一个原因(除了应用程序可以使用设备核心功能之外)是 Assets 存储在设备内存中,因此不必通过互联网获取,只有信息(JSON)通过互联网。这减少了加载时间,减少了加载新页面的时间(您只需要获取 JSON)并增加了离线体验。

我有点生活在混合应用程序做同样事情的世界 - Assets 存储在设备中。但是在 ionic 文档中我发现了这个:

The good thing about Angular templates is they can be loaded from anywhere: locally or remote. The URL of the template is the unique identifier, and if the template is defined locally, it will be fetched locally. Templates are a great way to separate layouts and UIs, so we use them extensively.

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

我还在他们的文档中找到了一个地方(真的找不到确切的词来引用),他们建议在脚本标签中定义模板,否则它们会通过互联网获取。

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

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



Best Answer-推荐答案


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

查看将 bundle 在您的应用中的最简单的方法是为 iOS 或 Android 构建一个,然后在 Android Studio 或 Xcode 中打开它并查看其中的内容,它应该可以让您很好地了解用户获得了什么.


This suggests that if template is not defined locally it will not be fetched locally leaving me with assumption that template that is defined in my www folder will be called over internet.

我不完全确定您对这句话的意思。如果您的应用程序中未定义模板,则可以选择通过 Internet 加载它,但为什么不定义它呢?如果你的 www 文件夹中定义了模板,你的应用程序中怎么不定义呢?


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

关于android - 从应用商店下载混合应用时,哪些 Assets 会下载到设备上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542180/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4