2010-11-18 19 views
7
  1. ¿Cuál es la capacidad de almacenamiento máxima de Core Data?
  2. ¿Hay algún límite de capacidad definido en el nivel de la aplicación? Al igual que, de la cantidad total de espacio disponible en Core Data, mi aplicación solo puede consumir X cantidad?
  3. ¿Qué sucede si mi aplicación intenta superar la X?

Respuesta

12

Core Data no tiene capacidad de almacenamiento duro, por lo que está limitado por el espacio de disco disponible en el sistema. En iOS (y la mayoría de las veces en OS X) Core Data está respaldado por SQLite, por lo que si hay alguna restricción, está en el tamaño de la base de datos SQLite de respaldo. Los datos no guardados se almacenan en la memoria RAM, y iOS no admite paginación de memoria, por lo que su conjunto de datos no guardados está limitado por la memoria RAM disponible en el dispositivo. Si intentas exceder la RAM, tu aplicación se cerrará. Si intentas exceder el espacio en disco, imagino que la acción de salvar fallará con un NSError apropiado.

+1

Muy bien. ¿Alguna idea de cuál es el tamaño máximo que SQLite puede tomar en iOS? – Abhinav

+7

De acuerdo con http://sqlite.org/limits.html#max_page_count, la cantidad máxima de páginas en un archivo de base de datos SQLite es de aproximadamente mil millones. Para un tamaño de página de 1 KB, ese es un límite efectivo de 1 TB. –

Cuestiones relacionadas