在CoreData中,使用NSInMemoryStoreType持久性存储时,数据是否会在应用程序开启期间一直保留在内存中,或者这些数据所使用的资源可能会被iOS回收?鉴于iPhone应用程序可以在多任务处理时进入后台,并且iOS将为在后台运行的应用程序回收资源。这是否意味着内存高速缓存中的持久性存储在某些情况下可能会丢失?例如,如果应用程序长时间停留在后台状态,并且用户此后访问和使用了许多不同的应用程序。如果有人能够解释一下这个问题,那就太好了。
我不是100%确定,但我必须说不行,原因如下。iOS会分配使用的内存,并且除非达到内存警告,否则不会释放内存,而在这种情况下,它将完全关闭应用程序或由您处理。进程将在10分钟后停止,该沙盒应用程序持有的所有资源将保留在内存中,除非需要,在这种情况下,整个应用程序将关闭。因此,如果另一个应用程序请求比可用内存更多的内存,则您的应用程序及其分配的内存将关闭,但位和片段不会关闭(您的数据源)。