gpt4 book ai didi

iOS 应用程序因内存不足警告而崩溃

转载 作者:行者123 更新时间:2023-11-29 03:53:18 24 4
gpt4 key购买 nike

我正在使用 UIImagePickerController 在我的应用程序中拍摄两张照片。我将这两个图像以 NSData 格式存储在 AppDelegate 中声明的两个属性中,声明如下。

@property(nonatomic, retain) NSData *dataCheckFront;

@property(nonatomic, retain) NSData *dataCheckBack;

我存储的图像如下:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSLog(@"camera took photo...");


[self cleanUpOverlayAndCameraView];

if (iCheckSide==FRONT) {

NSData *dataImage= [[NSData alloc] initWithData:UIImageJPEGRepresentation([info objectForKey:UIImagePickerControllerOriginalImage], 1.0)];
((AppDelegate*)[[UIApplication sharedApplication] delegate]).dataCheckFront= dataImage;
[dataImage release];
dataImage= nil;
}
else {
NSData *dataImage= [[NSData alloc] initWithData:UIImageJPEGRepresentation([info objectForKey:UIImagePickerControllerOriginalImage], 1.0)];
((AppDelegate*)[[UIApplication sharedApplication] delegate]).dataCheckBack= dataImage;
[dataImage release];
dataImage= nil;

}
}

我需要在未来某个时间点使用这些图像,并且我无法避免将其存储在某个地方。使用后,我将这些属性设置为 nil,如下所示:

    [((AppDelegate*)[[UIApplication sharedApplication] delegate]) setDataCheckBack:nil];

[((AppDelegate*)[[UIApplication sharedApplication] delegate]) setDataCheckFront:nil];

但是,在将其设置为 nil 之前,应用程序因内存不足问题而终止。

如何解决?

最佳答案

您可以将这些图像存储在 document/temp 目录本身中,并且在需要时您可以从 document/temp 目录中获取文件,因此不会给您带来任何内存问题。如果您使用临时目录,那么下次运行应用程序时,您的图像将不会在那里。

关于iOS 应用程序因内存不足警告而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com