在使用NSInMemoryStoreType持久性存储时的CoreData中,只要应用程序处于打开状态,数据是否会保留在内存中,或者是否有可能由iOS回收此数据使用的资源?在CoreData中使用NSInMemoryStoreType时数据是否会丢失?
鉴于iphone应用程序可以在多任务时后台运行,并且iOS将回收正在后台运行的应用程序的资源。
这是否意味着在某些情况下内存缓存中的持久性存储可能会丢失?假设应用程序长时间处于后台状态,并且用户已经访问并使用了许多不同的应用程序。
如果任何人都可以对这个问题有所了解,那就太棒了。
感谢您的回答。我猜这里我最关心的是核心数据中的数据是否有可能在背景状态下丢失,或者在内存不足的情况下,可能是使用某种恢复技术的必要条件?虽然我无法在我的谷歌搜索中找到关于此主题的任何内容。这似乎暗示,要么所有的数据丢失,应用程序关闭(这在我的情况是好的,因为数据可以在新的启动时重新加载),或者应用程序在“后台模式”下保存数据使其立即可用供应用程序激活时使用。 – Sabobin 2013-05-01 09:38:45
是的;你将被杀死,或者你的非可清除内存将被单独留下(除非你明确地创建可清除内存,请参阅NSPurgeableData,这意味着所有内容)。系统不会丢掉你的“一些”记忆,只会通过杀死你而抛弃它。 – 2013-05-01 17:44:18