zoukankan      html  css  js  c++  java
  • 多图片下载综合案例-磁盘缓存处理

    思路:

    (1)在显示图片前,先检查是否有内存缓存;

    (2)有内存缓存,直接使用;

    (3)如果没有内存缓存,再去检查是否有磁盘缓存;

    (4)有磁盘缓存,直接使用 + 保存 一份到内存中(以后使用方便)

    (5)没有磁盘缓存,就判断是否已经在下载了,如果没有下载,就开启线程下载;如果已下载,就下载图片并显示出来 + 保存一份到内存中 + 保存到磁盘

    其中,内存有三种:

      Doc:不允许,否是上架会被拒

      Lib:

        cache:图片缓存放在这里

        偏好设置

      tmp:临时存储路径,随时可能被删除

    //获取缓存的路径并缓存图片:
    - (void)getCachePath:(NSString *)imageUrl {
        //获取文件的名称
        NSString *fileName = [imageUrl lastPathComponent];  //得到该路径的最后一个节点
        //获取cache路径
        NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
        //拼接路径
        NSString *fullPath = [cachePath stringByAppendingString:fileName];
        //获取图片的数据
        NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];
        //图片数据写入缓存中
        [imageData writeToFile:fullPath atomically:YES];
    }
  • 相关阅读:
    Teacher Bo HDU 5762(暴力)
    The Unique MST POJ1679(次小生成树)
    Sqrt Bo hdu 5752
    Borg Maze POJ 3026(BFS+最小生成树)
    Highways POJ 1751(最小生成树)
    hdu---2050---折线分割平面
    POj---1469---Courses
    poj---2349---Arctic Network
    poj-2528-Mayor's posters
    POJ---3468---A Simple Problem with Integers
  • 原文地址:https://www.cnblogs.com/lyz0925/p/11498201.html
Copyright © 2011-2022 走看看