我当前使用NSCache的子类来存储一些带有相应名称(键)的图像(值),并且它在应用程序处于前台时似乎工作正常。但是,当我按Home键/用户进入后台并重新进入应用程序时,NSCache为空。NSCache在应用程序进入后台时清空
实现细节:我实现了NSCache的子类作为Singleton。这确保了应该只有该类的一个实例,应该可以在程序的任何地方通过简单地调用类名和共享实现来访问。 [HelloCache sharedCache]
。这里的HelloCache是子类的名称,sharedCache是共享的Cache。
请问您是否可以更具体一些,了解一下如何解决问题? –
NSCache本质上是一个荣耀的NSMutableDictionary,除了它在内存受限的时候释放对象。但是,它需要一些关于什么时候释放的指示。所以它看起来NSDiscardableContent协议来做出这些决定。当对象没有实现时,它会在应用程序处于活动状态时保留该对象,并释放NSCache认为它很方便的对象(每当应用程序进入后台时)。你可以在这里看到:http://stackoverflow.com/questions/13163480/nscache-and-background/13579963#13579963以及 – beyowulf
@beyowulf你的评论在这里比你的回答更有价值! – matt