UIImage保存到文件目录,内存使用率低

时间:2015-05-22 11:03:30

标签: ios xcode

在我的应用程序中,我将图像保存到文档目录。

我的问题是,如果设备内存已满,例如我的设备是16GB而我的可用空间是2mb,那么如何使用WriteToFile API将图像保存到文档目录时处理这个问题。    [imageData writeToFile:captureImagename atomically:YES];

处理这种情况的任何想法 在此先感谢

2 个答案:

答案 0 :(得分:1)

使用writeToFile:options:error:代替writeToFile:atomically:,以便在操作失败时获取NSError对象。

然后您可以检查操作是否返回错误

NSError *error;
if (![plistData writeToFile:file options: NSDataWritingAtomic error:&error]) {
    NSLog(@"Error writing file: %@", error);
}

答案 1 :(得分:0)

尝试改进 Lefteris' 解决方案时,请先检查一下是否有可用空间。

这样,您可以询问用户他想做什么"取消"或者"保存(无论如何)",并且他知道他在2mb存储器中保存了3mb的照片,它可能会失败。

然后他可以在必要时释放空间;总是给用户选择&信息,他比你知道的更好。

根据这个答案:https://stackoverflow.com/a/8036586/3603502

您可以获得可用的磁盘空间。如果需要,将其翻译为兆字节,与图片大小进行比较,如果差异小于100x,则显示错误消息,说明"您确定"。然后他可以做或不做,如果失败你可以显示像Lefteris建议的错误。而且我会坚持他所说的,因为他是对的:

您应始终使用错误语句操作文件,以便在出于任何原因失败时可以返回信息。 (如有必要,显示给用户)。