预加载

February 27, 2025 · View on GitHub

翻译:English

有时为了提高加载速度不让用户看到图片加载的过程,就需要提前将图片加载到内存里。

我们只需要不设置 Target,然后确保 size、precision、scale 参数和使用时一样即可,如下:

val request = ImageRequest(context, "https://example.com/image.jpg") {
    size(200, 200)
    precision(Precision.LESS_PIXELS)
    scale(Scale.CENTER_CROP)
}

sketch.enqueue(request)
// or
scope.launch {
    sketch.execute(request)
}

Tip

在构建 ImageRequest 时需要你主动设置和使用时一致的 size、precision、scale,因为在使用时如果没有主动设置 size、precision、scale 就会从 Target 上获取,这样可能会造成预加载时和使用时的 size、precision、scale 不一致导致无法命中缓存