我正在从网络上拉入图像,并想要对它们进行一些处理,例如使用CATransform3D添加透视图,以及将一对夫妇合成在一起。在im完成后,我想将文件保存在内存中,以便在需要时可以拉出它们(例如在表视图单元格中)。我设法从网络上提取了图像,并通过制作CALayer对其进行了操作。经过一些阅读,我有点困惑于如何正确地做到这一点,因为这些图像不会显示,直到需要的时候,我显然希望在一个工作线程上做我的工作,这样系统就不会延迟。最好的程序是什么?
发布于 2012-07-01 10:50:15
苹果建议你几乎永远不要尝试自己缓存图像,因为他们会在内部缓存图像,并且可以保证缓存即使在高内存压力下也能正常工作。
您可以通过setName:和imageNamed:方法`使用苹果的内部缓存来缓存图像。此外,您应该将图像的本地副本保存到缓存目录中的磁盘上,以便在缓存被清除时不需要再次下载。
因此,总之,使用imageNamed:,如果为空,则检查磁盘缓存目录,如果为空,则下载映像。缓存一个CALayer会造成太多的脏内存,
https://stackoverflow.com/questions/11278894
复制相似问题