【问题标题】:App size doubles after using Play Asset delivery in Unity在 Unity 中使用 Play Asset 交付后,应用程序大小翻倍
【发布时间】:2021-10-15 07:34:48
【问题描述】:

我刚刚按照本指南导出了我的游戏以使用 Play 资产交付: https://docs.unity3d.com/2021.1/Documentation/Manual/play-asset-delivery.html

总之

  • 已启用构建应用程序包
  • 还检查了拆分应用程序二进制文件。

导出的 aab 大小为 311mb,上传到 google play 时显示:

base               ----install_time  ---30.1mb
UnityDataAssetPack ----install  time ---264mb

但是当我在任何设备上下载应用程序时,文件大小为 846mb,是预期大小的两倍多。它还尝试一次全部下载,我认为dataassetpack是在base之后下载的。

我正在使用 Unity 2021.1.16f1

您知道发生这种情况的任何原因以及如何解决吗? 非常感谢!

【问题讨论】:

    标签: android unity3d android-app-bundle


    【解决方案1】:

    您将“下载大小”与“磁盘大小”进行比较:

    • 您在 Play 管理中心看到的大小对应于下载大小,即压缩
    • 在设备上,您会看到 磁盘大小 存储数据的位置未压缩,因此可以直接呈现数据,而无需保留相同数据的两个副本(一个压缩的,一个未压缩的),这就解释了差异。

    您似乎已将模块配置为 install-time,因此它们将作为初始安装的一部分进行安装。如果您希望在用户开始游戏时安装它们,您应该将它们配置为快速跟随。如果您想使用 Play Core API 手动下载它们,您应该将它们配置为 on-demand。这一切都在在运行时管理资产包部分的page you linked 中进行了解释。

    该页面还链接到有关该主题的 Google documentation,其中有一个专用的 section for Unity - 此处复制太长,因此请阅读并在您有更具体的问题时回来。

    【讨论】:

    • 感谢您的回答,这就是我的意思,800mb 是我的应用程序的大小,没有任何压缩,这很奇怪!似乎在上传它时它会失去压缩,我可以看到在使用捆绑工具时,以前压缩的资产不再在生成的 apk 中减少
    • 我试图解释的是,谷歌认为资产最好在设备上解压缩,因为如果它们被压缩,它们就需要解压缩,这样它们才能被渲染,你最终会得到设备上的 2 份资产副本(一份已压缩,一份未压缩),比未压缩的资产要大。 App Bundle 中的压缩无关紧要,因为它只是用于上传目的,所以越小越好,但在设备上因为资产需要解压缩,您应该希望它已经解压缩。希望这更有意义。
    • 这毫无意义!现在,该应用程序未压缩所有设备。我知道谷歌会自动为每台设备创建一个新的 apk,导致一些 apk 比其他的大,但现在,它们的下载大小都是 800mb(压缩大小是 300)
    • 我认为这是 Unity 方面的一个错误,我在开发模式下构建了一个 aab,一切都按预期进行,磁盘容量大,下载容量小,我会提交一个 bug 票
    • 你在哪里看到下载大小是800MB?下载应用程序时是否在 Play 商店中?还是当您查看应用安装后的信息时?
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2021-11-21
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多