objective-c – 在NSCache中使用NSPurgeabledata有什么意义?
发布时间:2020-12-16 05:04:58 所属栏目:百科 来源:网络整理
导读:我已经阅读了一些关于使用NSCache建议的文章,因为很多人提到的建议是在NSCache中使用NSPurgeabledata. 但是我无法理解这一点,而当内存紧张或达到计数/成本限制时,NSCache已经能够逐出其内容,为什么我们仍然需要在这里使用NSPurgeabledata?这不是比使用我们
我已经阅读了一些关于使用NSCache建议的文章,因为很多人提到的建议是在NSCache中使用NSPurgeabledata.
但是我无法理解这一点,而当内存紧张或达到计数/成本限制时,NSCache已经能够逐出其内容,为什么我们仍然需要在这里使用NSPurgeabledata?这不是比使用我们已有的数据对象更慢吗?我们可以在这里获得什么样的优势? 解决方法
不严格执行计数限制和总成本限制.也就是说,当缓存超过其中一个限制时,其某些对象可能会立即,稍后或永远被驱逐,这取决于缓存的实现细节.
所以在这里使用NSPurgeabledata的优点是: – 通过使用可清除内存,您可以允许系统在需要时快速恢复内存,从而提高性能.标记为可清除的内存在虚拟内存系统回收时不会被分页到磁盘,因为分页是一个非常耗时的过程.相反,数据被丢弃,如果稍后需要,则必须重新计算.它像锁定机制一样工作,或者我们可以说它像同步一样工作.如果数据是由一个线程访问的,那么没有其他线程可以访问同一个线程,除非第一个线程完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容