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;
}
Come stai memorizzando i dati della tua app? – jrtc27
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
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. –