这似乎是一个显而易见的问题,但是我的Google搜索没有给出明确的答复-显然,核心数据 NSInMemoryStoreType
存储区的想法是将整个图形存储在内存中,因此假设这将放置一个严重限制了一次可以存储的对象数量-是这种情况吗?还是该商店实现了某种智能磁盘缓存方法来克服这一问题?(而且,如果有任何轶事证据表明它在iOS设备(最好是iPhone 4S以上版本)上提供这种功能,那也将是受欢迎的)。
鉴于存在另一种选择,NSBinaryStoreType
其中将数据记录为存储在磁盘上并给出了名称,我可以肯定地说它NSInMemoryStoreType
是严格在内存中的。
这位Apple医生说,内存存储没有“需要任何支持”,但没有明确表示从未使用过。它还指出,SQLite“不要求整个对象图都驻留在内存中”,这意味着某种其他类型的存储也可以,但同样不是明确的。
请参阅此线程,Bill Bumgarner(大概是管理iOS运行时团队的Bill Bumgarner)在这里讨论如何使用这种类型的商店。
至于限制,一些答案是在ios应用最大内存预算中,但您应该考虑程序对用户整体体验的影响。如果您拥有所有RAM,则iOS将终止其其他进程,从而导致来回切换时丢失上下文。此外,如果iOS应用程序使用了所有RAM,则他们一旦转而使用Twitter或电子邮件,都会杀死您的应用程序。因此,无论有多少可用空间,都应尝试将其保持在几十兆字节的低位,除非您的应用程序确实如此惊人,以至于没人能放弃。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句