为什么 kingfisher 使用 md5 创建 cacheFileName?
Why did kingfisher create cacheFileName using md5?
kingfisher为什么使用md5创建cacheFileName?还有其他特殊原因吗?
// DiskStorage.swift in Kingfisher
func cacheFileName(forKey key: String) -> String {
if config.usesHashedFileName {
let hashedKey = key.kf.md5
if let ext = config.pathExtension {
return "\(hashedKey).\(ext)"
} else if config.autoExtAfterHashedFileName,
let ext = key.kf.ext {
return "\(hashedKey).\(ext)"
}
return hashedKey
} else {
if let ext = config.pathExtension {
return "\(key).\(ext)"
}
return key
}
}
使用文件的 md5 作为缓存中的文件名是一种常见的模式。缓存名称会随着文件的变化而变化,而来源url可能不会。
请注意,保留扩展名,因为以后使用该文件时可能会很方便。
kingfisher为什么使用md5创建cacheFileName?还有其他特殊原因吗?
// DiskStorage.swift in Kingfisher
func cacheFileName(forKey key: String) -> String {
if config.usesHashedFileName {
let hashedKey = key.kf.md5
if let ext = config.pathExtension {
return "\(hashedKey).\(ext)"
} else if config.autoExtAfterHashedFileName,
let ext = key.kf.ext {
return "\(hashedKey).\(ext)"
}
return hashedKey
} else {
if let ext = config.pathExtension {
return "\(key).\(ext)"
}
return key
}
}
使用文件的 md5 作为缓存中的文件名是一种常见的模式。缓存名称会随着文件的变化而变化,而来源url可能不会。
请注意,保留扩展名,因为以后使用该文件时可能会很方便。