2010-11-18 18 views
7
  1. Qual è la capacità massima di archiviazione di Core Data?
  2. Esiste un limite di capacità definito a livello di app? Ad esempio, dal totale spazio disponibile su Core Data, la mia app può consumare solo l'importo X?
  3. Cosa succede se la mia app tenta di superare la X?

risposta

12

I dati di base non hanno alcuna capacità di archiviazione, quindi è praticamente limitato dallo spazio disponibile su disco sul sistema. Su iOS (e la maggior parte del tempo su OS X) Core Data è supportato da SQLite, quindi se c'è qualche restrizione, è nella dimensione del database di SQLite di supporto. I dati non salvati vengono archiviati nella RAM e iOS non supporta la memoria di paging, pertanto il set di dati non salvati è limitato dalla RAM disponibile sul dispositivo. Se provi a superare la RAM, la tua app verrà chiusa. Se si tenta di superare lo spazio su disco, immagino che l'azione di salvataggio fallirà con un NSError appropriato.

+1

OK. Qualche idea su quale sia la dimensione massima che SQLite può assumere in IOS? – Abhinav

+7

In base a http://sqlite.org/limits.html#max_page_count, il numero massimo di pagine in un file di database SQLite è impostato su un valore predefinito di circa 1 miliardo. Per una dimensione di pagina di 1 KB è effettivamente un limite di 1 TB. –

Problemi correlati