ios - 在 Iphone 中,在哪里存储大量但临时的数据,如 1000 张图像

标签 ios iphone objective-c uiimage

我的应用正在从 UIView 生成图像,并且随着用户数量的增加,图像的数量可能会大大增加。

目前我将这些图像存储在 NSMutableArray 中,但是当用户数量增加时,我的应用程序会崩溃并显示“由于内存压力”警告。

我将这些图像存储在 NSMutableArray 中,因为我需要生成所有这些图像的 pdf。

我正在考虑将这些图像写入电话目录,但我认为它也会有一些限制,如果没有限制,那将是最好的也是最后的方法吗?

我该如何解决这个问题?

提前致谢。

最佳答案

将它们作为文件存储在您应用的缓存目录中。

获取目录:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
  NSString *cacheDirectory = paths.firstObject;

然后在需要时加载它们。 请注意,系统可以随时删除这些文件。

为了防止它们从系统中被清除,您还可以使用 NSTemporaryDirectory()并将它们放在那里。

关于ios - 在 Iphone 中,在哪里存储大量但临时的数据,如 1000 张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307783/

相关文章:

ios - UIAlertcontroller 设置属性消息

使用 makefile 进行 Objective-C 编译会产生意外错误?

iOS Facebook App 浏览器 - 强制链接在 Safari 中打开

objective-c - 不断填充一个tableview

ios - UIPageViewController - 如果没有页面则不允许移动

ios - UITableView 每节选择一行

objective-c - 使用 CGDisplayStream 编码 H.264 压缩 session

ios - swift 3 中的 Voip 集成

iOS 9 在带有 EXC_BAD_ACCESS KERN_INVALID_ADDRESS 的 _prepareForCAFlush 中崩溃

iphone - EXC_BAD_ACCESS 当 popViewControllerAnimated 在基于导航的应用程序中时