我正在使用(尝试)AlamofireImage。 我保存到缓存的图像并没有真正保存。
我的代码包括:
import Alamofire
import AlamofireImage
let imageCache = AutoPurgingImageCache(
memoryCapacity: 100 * 1024 * 1024,
preferredMemoryUsageAfterPurge: 60 * 1024 * 1024
)
然后我自己使用以下方式保存图像:
imageCache.add(image, withIdentifier: path)
但是在下一次运行中,当我尝试使用相同的路径获取此图像时,它总是返回nil:
if let image = imageCache.image(withIdentifier: path){
return image
}
return nil
我做错了什么?
感谢。
答案 0 :(得分:1)
您无需调用add()方法。我创建了自定义类,它包装了Alamofire Image缓存。
public char[] generateRandomLettersFromAlphabet(char[] alphabet,
int numberOfLetters) {
if (numberOfLetters < 1) {
throw new IllegalArgumentException(
"Number of letters must be strictly positive.");
}
Random random = new Random();
char[] randomLetters = new char[numberOfLetters];
for (int i = 0; i < numberOfLetters; i++) {
randomLetters[i] = alphabet[random.nextInt(alphabet.length)];
}
return randomLetters;
}
答案 1 :(得分:0)
但是在下一次运行中,当我尝试使用相同的路径获取此图像时,它总是返回nil:
这听起来像是您重新启动应用。 ImageCache仅限内存,重启应用程序时将回收您应用的内存。