我必须将多个图像加载到表格视图中。它需要大量内存(单元重用)。我试图管理它并使用方法来释放包含表视图的视图控制器内存。
我使用的图像文件是PDF格式,只有25到300 kb的文件质量比PNG / JPG高得多。但是当表视图加载时,它显示大约600 MB的内存使用量。我加载了8个文件,这意味着它应该占用(8 * 300 = 2100)大约2 mb的内存。
所以现在我尝试不将资源放入资产,并在从服务器下载后将它们存储在目录中。
我的问题是:是否需要相同数量的内存才能从目录中将图像加载到表视图中,因为它需要从资产中获取? (我假设它应该直接读取文件数据而不将其加载到虚拟内存中。)
答案 0 :(得分:1)
UIImage
是一个采用“图像宽度x图像高度x 4”字节的位图。无论UIImage
的来源如何,都是如此。它是以PDF还是PNG开头并不重要。它是来自资产还是从Documents文件夹(或任何其他文件夹)加载无关紧要。
所以,是的,无论图像的来源是什么,您的图像都会占用相同的内存量。
唯一有所作为的是图像的尺寸。