加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 在NSCache中使用NSPurgeabledata有什么意义?

发布时间:2020-12-16 05:04:58 所属栏目:百科 来源:网络整理
导读:我已经阅读了一些关于使用NSCache建议的文章,因为很多人提到的建议是在NSCache中使用NSPurgeabledata. 但是我无法理解这一点,而当内存紧张或达到计数/成本限制时,NSCache已经能够逐出其内容,为什么我们仍然需要在这里使用NSPurgeabledata?这不是比使用我们
我已经阅读了一些关于使用NSCache建议的文章,因为很多人提到的建议是在NSCache中使用NSPurgeabledata.
但是我无法理解这一点,而当内存紧张或达到计数/成本限制时,NSCache已经能够逐出其内容,为什么我们仍然需要在这里使用NSPurgeabledata?这不是比使用我们已有的数据对象更慢吗?我们可以在这里获得什么样的优势?

解决方法

不严格执行计数限制和总成本限制.也就是说,当缓存超过其中一个限制时,其某些对象可能会立即,稍后或永远被驱逐,这取决于缓存的实现细节.
所以在这里使用NSPurgeabledata的优点是: –

通过使用可清除内存,您可以允许系统在需要时快速恢复内存,从而提高性能.标记为可清除的内存在虚拟内存系统回收时不会被分页到磁盘,因为分页是一个非常耗时的过程.相反,数据被丢弃,如果稍后需要,则必须重新计算.它像锁定机制一样工作,或者我们可以说它像同步一样工作.如果数据是由一个线程访问的,那么没有其他线程可以访问同一个线程,除非第一个线程完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读