首页 > 解决方案 > 您可以/应该在 Xcode 的 xcassets 中存储多少图像?

问题描述

我正在尝试为 xcassets 中的项目存储大量图像。2000左右。然而,它们都非常小/高度优化,每个只有大约 3-5kB,所以总大小可能是 6-10MB。这会导致内存问题吗?这不推荐吗?

我知道我可以让用户根据需要从服务器下载它们,但如果我可以从应用程序下载中完全包含它们会更容易。

标签: xcodexcasset

解决方案


您可以在 XCAssets 中存储多少张图像?

嗯...根据Apple 关于最大构建文件大小

您的应用的总未压缩大小必须小于 4GB

因此,从技术上讲,您可以存储尽可能多的资产,以满足此限制。
它不会导致内存问题,因为这些图像存储在应用程序的包中,最终存储在磁盘上。

它只会增加应用程序的下载大小......现在。一旦使用/显示,它将影响应用程序的内存。

最好的例子是游戏,它们通常有很多资产并且几乎总是在应用程序的捆绑包中。在某些情况下,您甚至会下载包含更多资产的扩展包,但您很少会看到游戏艺术下载,至少在玩游戏时不会,因为无论是游戏还是简单的应用程序,流畅度都是一个关键因素。


2000左右。然而,它们都非常小/高度优化,每个只有大约 3-5kB,所以总大小可能是 6-10MB。

首先,10MB 几乎没有什么可担心的,但无论如何,关键是如果您同时加载所有 2000 张图像,即每个图像都加载到 a 中UIImageView只有这样它们才会加载到应用程序的内存中。
无论您是必须从应用程序包中加载图像还是必须从服务器下载图像,这都无关紧要。


您应该在 XCAssets 中存储多少张图像?

现在这取决于你。

在决定之前考虑以下几点:

  • 这些图像可能会改变吗?
  • 我的用户需要全部 2000 张图像吗?
  • 我们要维护 2000 张图片的 url 列表吗?
  • 我们是否需要确保图像正确下载?
  • 用户会介意等待几毫秒来加载图像吗?
  • 如果由于某种原因无法下载图像,那么适当的故障机制应该是什么?

根据您如何回答上述问题,您将知道您需要采取的路径。


推荐阅读