2013-05-17 22 views
9

NSPersistentStoreCoordinator có bốn loại cửa hàng: NSSQLiteStoreType, NSXMLStoreType, NSBinaryStoreTypeNSInMemoryStoreType. Tôi hiểu rằng cửa hàng XML có thể có ích để gỡ lỗi, hoặc trong bộ nhớ khi bạn cần một bộ nhớ đệm dễ bay hơi.Ưu điểm của NSBinaryStoreType là gì?

Ưu điểm thực sự của việc sử dụng loại Cửa hàng nhị phân là gì?

Trả lời

13

NSBinaryStoreType sẽ chiếm không gian đĩa ít nhất và sẽ tải nhanh nhất, trong số các loại cửa hàng nguyên tử.

Loại cửa hàng nguyên tử tải mọi đối tượng Dữ liệu lõi trong tài liệu cùng lúc, vì vậy khi tài liệu được tải, tất cả trong bộ nhớ và bạn không bao giờ nhấn lại đĩa cho đến khi bạn nhấn save:. NSSQLiteStoreType sẽ chiếm không gian đĩa giống như nhị phân, sẽ tải cực nhanh và có thể sống trong bộ nhớ bị giới hạn tùy ý, nhưng tệp tài liệu cần phải có sẵn trên đĩa miễn là ứng dụng đã mở - không thể xóa hoặc ghi đè bởi một ứng dụng khác trong khi bạn đang sử dụng ứng dụng đó, các loại nguyên tử sẽ chịu đựng được. Ngoài ra còn có một số hạn chế của loại lưu trữ SQL là laid out here - trong các loại cửa hàng nguyên tử nói chung hoạt động nhanh hơn nhiều và cung cấp cho bạn nhiều tính năng hơn, với chi phí là dấu chân bộ nhớ ngày càng tăng.

NSBinaryStoreType không phải là loại cửa hàng nguyên tử hiệu quả nhất có thể, nó không bị nén theo bất kỳ cách nào. Bạn có thể viết loại lưu trữ XML hoặc JSON được nén riêng của mình, có thể chiếm ít không gian đĩa hơn NSSQLiteStoreType hoặc NSBinaryStoreType, với chi phí tải/tiết kiệm tốc độ.