- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 CoreData 中,当使用 NSInMemoryStoreType 持久存储时,只要应用程序打开,数据是否会一直缓存在内存中,或者这些数据使用的资源是否可以被 iOS 回收?
假设 iPhone 应用程序在多任务处理时可以后台运行,并且 iOS 会为在后台运行的应用程序回收资源。
这是否意味着内存缓存中的持久存储在某些情况下可能会丢失?假设应用程序长时间处于后台状态,并且用户此后访问并使用了许多不同的应用程序。
如果有人能阐明这个主题,那就太好了。
最佳答案
Core Data 中的某些资源当然有可能是 NSPurgeableData
对象,因此如果存在内存压力,它们可能会在您挂起时被丢弃。这是一个内部实现细节,应该始终对您透明。
作为 Core Data 之外的一个具体示例,UIImage
被记录为在内存紧张时丢弃一些缓存数据(请参阅 UIImage
文档中的图像和内存管理). Core Data 中的东西当然有可能做同样的事情。但同样,除了性能方面的考虑(即可能需要重新计算数据)之外,if 对您来说无关紧要。
当然,当您的应用程序被终止时,您可能会丢失整个内存中的数据存储,这种情况随时可能发生。但操作系统不会随意删除您的内存。
关于iphone - 在 CoreData 中使用 NSInMemoryStoreType 会丢失数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16303848/
我创建了 CoreData 堆栈的模拟版本 import Foundation import CoreData @testable import Companion final class Mocke
我目前正在对一个与 Core Data 交互的层进行单元测试。它保存、删除和更新 Item目的。但是,我的测试试图保存几个 Item s 然后执行批量删除一直失败。 这是Item : extensio
在 CoreData 中,当使用 NSInMemoryStoreType 持久存储时,只要应用程序打开,数据是否会一直缓存在内存中,或者这些数据使用的资源是否可以被 iOS 回收? 假设 iPhone
这似乎是一个显而易见的问题,但我的谷歌搜索并没有给我明确的答复 - 显然 Core Data NSInMemoryStoreType 存储的想法是存储内存中的整个图形,因此假设这将对可以在任何时候存储
我是一名优秀的程序员,十分优秀!