2013-05-17 1 views
9

NSPersistentStoreCoordinator ha quattro tipi di negozi: NSSQLiteStoreType, NSXMLStoreType, NSBinaryStoreType e NSInMemoryStoreType. Comprendo che l'archivio XML può essere utile per il debug o In memoria quando è necessaria una cache volatile.Quali sono i vantaggi di NSBinaryStoreType?

Quali sono i vantaggi reali dell'utilizzo del tipo di archivio binario?

risposta

13

NSBinaryStoreType occuperà il minor spazio su disco e caricherà il più veloce dei tipi di negozi atomici.

I tipi di archivio atomico caricano tutti gli oggetti del Core Data nel documento in una sola volta, quindi una volta caricato il documento, è tutto in memoria e non si preme mai più il disco finché non si preme save:. Lo NSSQLiteStoreType occuperà spazio su disco di tipo binario, caricherà estremamente velocemente e può vivere in una memoria arbitrariamente limitata, ma il file di documento deve essere disponibile su disco fino a quando l'app lo ha aperto - non può essere cancellato o sovrascritto da un'altra app mentre la stai usando, che i tipi atomici tollereranno. Esistono anche alcune limitazioni del tipo di archivio SQL come laid out here: in genere i tipi di negozi atomici sono molto più veloci e offrono più funzionalità, a scapito di un ingombro di memoria sempre maggiore.

NSBinaryStoreType non è in alcun modo il tipo più efficiente di archivio atomico possibile, non è compresso in alcun modo. È possibile scrivere il proprio tipo di archivio XML o JSON compresso che probabilmente occuperebbe meno spazio su disco rispetto a NSSQLiteStoreType o NSBinaryStoreType, a scapito della velocità di caricamento/salvataggio.