在 Unity 中使用 Play Asset 交付后,应用程序大小翻倍
Posted
技术标签:
【中文标题】在 Unity 中使用 Play Asset 交付后,应用程序大小翻倍【英文标题】:App size doubles after using Play Asset delivery in Unity 【发布时间】: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
您知道发生这种情况的任何原因以及如何解决吗? 非常感谢!
【问题讨论】:
【参考方案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 商店中?还是当您查看应用安装后的信息时?以上是关于在 Unity 中使用 Play Asset 交付后,应用程序大小翻倍的主要内容,如果未能解决你的问题,请参考以下文章
“构建错误:构建失败,出现 4 个错误 UnityEngine.Debug:LogErrorFormat (string,object[])”,而在 Unity 中使用 Play Asset Deli
可以从原始文件:///android_asset 使用 Google Play 游戏服务