[英]iOS app getting crashed with low memory warning
我正在使用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目錄中獲取文件,因此不會出現任何內存問題。 而且,如果您使用的是temp目錄,則下次運行該應用程序時,圖像將不再存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.