Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift中将大图像作为移动背景视图加载时减少内存使用?_Ios_Xcode_Swift_Memory Management_Didreceivememorywarning - Fatal编程技术网

Ios 如何在Swift中将大图像作为移动背景视图加载时减少内存使用?

Ios 如何在Swift中将大图像作为移动背景视图加载时减少内存使用?,ios,xcode,swift,memory-management,didreceivememorywarning,Ios,Xcode,Swift,Memory Management,Didreceivememorywarning,我对斯威夫特还不熟悉,我正在努力学习如何度过这一切。有一件事我似乎弄不明白,那就是以下几点。我想减少背景图像的使用量。我成功地制作了一个小测验应用程序,背景是一幅移动的世界地图。但是世界地图是4000像素宽,2000像素高,似乎占用了很多内存。Xcode告诉我它使用100 MB的内存,这对我来说似乎太高了 我设法将图像的文件大小减小了1.7MB,但如果再减小,图像就会变得模糊,然后失去了它的用途。有人能告诉我解决这个问题的正确方向吗?压缩文件没有帮助-应用程序内存包含未压缩的版本。它应该大约占组

我对斯威夫特还不熟悉,我正在努力学习如何度过这一切。有一件事我似乎弄不明白,那就是以下几点。我想减少背景图像的使用量。我成功地制作了一个小测验应用程序,背景是一幅移动的世界地图。但是世界地图是4000像素宽,2000像素高,似乎占用了很多内存。Xcode告诉我它使用100 MB的内存,这对我来说似乎太高了


我设法将图像的文件大小减小了1.7MB,但如果再减小,图像就会变得模糊,然后失去了它的用途。有人能告诉我解决这个问题的正确方向吗?

压缩文件没有帮助-应用程序内存包含未压缩的版本。它应该大约占组件的宽度*高度*位深度*数量。宽度为4000,高度为2000,位深度最有可能为1字节(8位),组件数量为3或4(R、G、B,可能还有alpha)

您可以将背景切割成更小的分幅,并确保内存中只显示分幅