如何在加载大图像作为移动背景视图时减少 Swift 中的内存使用量?
How to reduce the memory usage in Swift when loading a large image as a moving background view?
我是 Swift 的新手,正在努力学习自己的方法。以下是我似乎无法弄清楚的一件事。我想减少背景图片的使用量。我成功地制作了一个以移动世界地图为背景的小测验应用程序。但是世界地图是 4000 像素宽和 2000 像素高,似乎占用了大量内存。 Xcode 告诉我它使用了 100 MB 的内存,这对我来说太高了。
我设法将图像的文件大小减小到 1.7 MB,但如果我再小一点,它就会变得模糊,然后就失去了它的用途。有人可以指导我正确的方向来解决这个问题吗?
压缩文件无济于事 - 应用程序内存包含未压缩版本。它应该大约需要 width * height * bit_depth * 组件数。宽度为 4000,高度为 2000,位深度最有可能为 1 字节(8 位),组件数为 3 或 4(R、G、B 和可能的 alpha)。
您可以将背景切割成更小的图块,并确保只有显示的图块在内存中。
我是 Swift 的新手,正在努力学习自己的方法。以下是我似乎无法弄清楚的一件事。我想减少背景图片的使用量。我成功地制作了一个以移动世界地图为背景的小测验应用程序。但是世界地图是 4000 像素宽和 2000 像素高,似乎占用了大量内存。 Xcode 告诉我它使用了 100 MB 的内存,这对我来说太高了。
我设法将图像的文件大小减小到 1.7 MB,但如果我再小一点,它就会变得模糊,然后就失去了它的用途。有人可以指导我正确的方向来解决这个问题吗?
压缩文件无济于事 - 应用程序内存包含未压缩版本。它应该大约需要 width * height * bit_depth * 组件数。宽度为 4000,高度为 2000,位深度最有可能为 1 字节(8 位),组件数为 3 或 4(R、G、B 和可能的 alpha)。
您可以将背景切割成更小的图块,并确保只有显示的图块在内存中。