xcode - 您可以/应该在 Xcode 的 xcassets 中存储多少图像?
问题描述
我正在尝试为 xcassets 中的项目存储大量图像。2000左右。然而,它们都非常小/高度优化,每个只有大约 3-5kB,所以总大小可能是 6-10MB。这会导致内存问题吗?这不推荐吗?
我知道我可以让用户根据需要从服务器下载它们,但如果我可以从应用程序下载中完全包含它们会更容易。
解决方案
您可以在 XCAssets 中存储多少张图像?
嗯...根据Apple 关于最大构建文件大小:
您的应用的总未压缩大小必须小于 4GB
因此,从技术上讲,您可以存储尽可能多的资产,以满足此限制。
它不会导致内存问题,因为这些图像存储在应用程序的包中,最终存储在磁盘上。
它只会增加应用程序的下载大小......现在。一旦使用/显示,它将影响应用程序的内存。
最好的例子是游戏,它们通常有很多资产并且几乎总是在应用程序的捆绑包中。在某些情况下,您甚至会下载包含更多资产的扩展包,但您很少会看到游戏艺术下载,至少在玩游戏时不会,因为无论是游戏还是简单的应用程序,流畅度都是一个关键因素。
2000左右。然而,它们都非常小/高度优化,每个只有大约 3-5kB,所以总大小可能是 6-10MB。
首先,10MB 几乎没有什么可担心的,但无论如何,关键是如果您同时加载所有 2000 张图像,即每个图像都加载到 a 中UIImageView
,只有这样它们才会加载到应用程序的内存中。
无论您是必须从应用程序包中加载图像还是必须从服务器下载图像,这都无关紧要。
您应该在 XCAssets 中存储多少张图像?
现在这取决于你。
在决定之前考虑以下几点:
- 这些图像可能会改变吗?
- 我的用户需要全部 2000 张图像吗?
- 我们要维护 2000 张图片的 url 列表吗?
- 我们是否需要确保图像正确下载?
- 用户会介意等待几毫秒来加载图像吗?
- 如果由于某种原因无法下载图像,那么适当的故障机制应该是什么?
根据您如何回答上述问题,您将知道您需要采取的路径。
推荐阅读
- php - php输入验证
- jquery - 如何在 Metronic 数据表中设置动态列标题?
- python - Django 2.1 在数据库中自动创建模型
- python - 关于为什么“_”变量突然停止在 ipython jupyter notebook 中工作的理论?
- xamarin.forms - xamarin 形式的渐变颜色分段控制
- python - 文字冒险游戏 (Python) 中的项目类
- .net-core - 对“位图”类型的引用声称它在“System.Drawing”中定义,但找不到
- html - 显示带有下拉菜单的图像(在表格中)(无 javascript)
- java - Java,从具有 FireStore 数据的 Map 获取密钥
- python - 在 Python 中使用 Selenium 导航并使用 BeautifulSoup 进行抓取