簡體   English   中英

iOS應用程序崩潰並顯示內存不足警告

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM