【发布时间】:2013-12-10 00:50:31
【问题描述】:
我试图在从相机捕获多张图像后将它们保存到我的文档目录中。我要保存的大约 50 张图像。但是每次我尝试保存它们时应用程序都会崩溃,因为图像太多并且我收到内存警告。我不知道如何解决这个问题。 这是我的代码:
for (int i = 0; i<_arrImages.count; i++)
{
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^
{
NSDate *date = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MMM-yyyy"];
NSString *dateString = [dateFormat stringFromDate:date];
[dateFormat setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];
NSString *dateStringId = [dateFormat stringFromDate:date];
[Utils saveImage:image withName:dateStringId toFolder:kImageFolder];
UIImage *thumbImage = [image imageCroppedAndScaledToSize:CGSizeMake(150, 112) contentMode:UIViewContentModeScaleAspectFill padToFit:YES];
[Utils saveImage:thumbImage withName:dateStringId toFolder:kThumbnailFolder];
NSMutableDictionary *sendDict = [[NSMutableDictionary alloc]init];
[sendDict setObject:dateStringId forKey:kitemId];
[sendDict setObject:@"image" forKey:kitemType];
[sendDict setObject:[Utils getPathForImageName:dateStringId ofFolder:kImageFolder] forKey:kitemPath];
[sendDict setObject:kStatusUnused forKey:kitemStatus];
[sendDict setObject:dateString forKey:kitemDate];
[sendDict setObject:[Utils getPathForImageName:dateStringId ofFolder:kThumbnailFolder] forKey:kitemThumb];
[SCDatabaseHandler insertIntoMainTableValues:sendDict];
});
}
【问题讨论】:
标签: ios iphone database uiimage