zoukankan      html  css  js  c++  java
  • IOS-NSCache

    NSCache是苹果提供的一个专门用来做缓存的类
    使用和NSMutableDictionary非常相似
    是线程安全的
    当内存不足的时候,会自动清理缓存
    程序开始时,可以指定缓存的数量&成本

    ##
    方法
    取值
    - (id)objectForKey:(id)key;
    设置对象,0成本

    - (void)setObject:(id)obj forKey:(id)key;
    设置对象并指定成本

    - (void)setObject:(id)obj forKey:(id)key cost:(NSUInteger)g;
    成本示例,以图片为例:

    方案一:缓存100张图片
    方案二:总缓存成本设定为10M,以图片的宽*高当作成本,图像像素。这样,无论缓存的多少张照片,只要像素值超过10M,就会自动清理
    结论:在缓存图像时,使用成本,比单纯设置数量要科学!
    删除

    - (void)removeObjectForKey:(id)key;
    删除全部(不要使用!)

    - (void)removeAllObjects;

    属性

    @propertyNSUInteger totalCostLimit;

    缓存总成本
    @propertyNSUInteger countLimit;

    缓存总数量
    @propertyBOOLevictsObjectsWithDiscardedContent;

    是否自动清理缓存,默认是YES

    注意:内存警告或者超出限制后,缓存中的任何对象,都有可能被清理。使用NSCache做缓存一定要保证能够有恢复的通道!

  • 相关阅读:
    BeautifulSoup
    requests
    安装xpath helper
    取消搜狗输入法的快捷键
    numpy初识 old
    Jupyter Notebook 快捷键
    安装numpy、matplotlib
    JavaScript 继承 -JavaScript高级程序设计
    mac /windows
    unicode 地址
  • 原文地址:https://www.cnblogs.com/DreamLinku/p/5654443.html
Copyright © 2011-2022 走看看