【问题标题】:Which assets are downloaded on device when hybrid app is downloaded from app store?从应用商店下载混合应用时,哪些资产会下载到设备上?
【发布时间】:2017-09-18 10:12:06
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    查看将捆绑在您的应用中的最简单的方法是为 iOS 或 Android 构建一个,然后在 Android Studio 或 Xcode 中打开它,看看里面有什么,它应该可以让您很好地了解用户得到了什么.


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

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


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

    【讨论】:

    • 文章作者指出,加载模板比加载ng-template(通常包含在同一个 HTML 文件中)花费的时间稍长。我已经扩展了我的答案以详细说明差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2013-04-17
    • 2013-03-30
    • 1970-01-01
    相关资源
    最近更新 更多