2012-01-27 4 views
28

Una delle mie app, molto raramente, segnalerà il proprio spazio di archiviazione (tramite Impostazioni -> Generale -> Utilizzo -> Archiviazione) come 4 GB quando, in realtà, la dimensione totale di tutti i file nell'app Sandbox (Documents, Library, tmp) ha una media di circa 10 MB circa.Segnalazione app non accurata Utilizzo/Storage

Sono quasi alla fine e mi chiedo se qualcuno abbia mai provato qualcosa del genere. Ho un vago sospetto che si tratti di qualcosa di simile a UIDocument, ma non posso esserne certo. Sembra troppo poco per andare ora per archiviare un radar.

In alcuni casi l'applicazione costringerà il sistema a presentare una finestra di dialogo che avverte l'utente che il sistema sta esaurendo la memoria. Quando ciò accade, sembra che il sistema riconcili la differenza tra lo storage che pensa che l'app stia utilizzando e la realtà e che i numeri di archiviazione scendano a 10 MB circa.

È davvero strano.

Tutte le idee su cose che potrei guardare sarebbero apprezzate.

L'attuazione di contentsForType: errore:

- (id) contentsForType: (NSString *) inTypeName 
    error: (NSError **) outError 
{ 
    NSFileWrapper  *newWrapper, *audioFileWrapper; 
    NSString   *audioFilename; 
    NSURL    *newAudioWrapperURL; 

    newWrapper = [[[NSFileWrapper alloc] initDirectoryWithFileWrappers: nil] autorelease]; 

    // add updated info 
    [newWrapper addRegularFileWithContents: [NSKeyedArchiver archivedDataWithRootObject: self.testInfo] preferredFilename: QSDocumentInfoKey]; 

    // scan audio files and clean up where needed 
    for (NSDictionary *wordInfo in self.wordInfoList) { 
     if ((audioFilename = [wordInfo objectForKey: QSInfoAudioKey]) != nil) { 
      newAudioWrapperURL = [self.fileURL URLByAppendingPathComponent: audioFilename]; 
      if ([[NSFileManager defaultManager] fileExistsAtPath: [newAudioWrapperURL path]]) { 
       audioFileWrapper = [[[NSFileWrapper alloc] initWithURL: newAudioWrapperURL options: 0 error: nil] autorelease]; 
       [newWrapper addFileWrapper: audioFileWrapper]; 
      } 
     } 
    } 

    self.fileWrapper = newWrapper; 

    return self.fileWrapper; 
} 
+0

Come stai memorizzando i dati della tua app? – jrtc27

+0

Cosa fa l'app (non servono specifiche)? Guadagni qualcosa? Scarica qualsiasi cosa Qualche ragione può andare storta, un array o qualche altra cosa che scrivi diventa molto grande? Succede anche sul simulatore? – Ali

+0

Salvataggio di file tramite UIDocument tramite NSFileWrapper. Un'altra cosa peculiare: non devo nemmeno salvare nulla perché ciò accada. L'ultimo tentativo di memorizzare le informazioni potrebbe essere stato ore o un giorno fa e questo avverrà solo in modo casuale. –

risposta

1

Ho visto questo con il PROVA Scelta dei colori SDK. Rimozione dell'uso di TestFlight dovrebbe risolvere questo problema.

Problemi correlati