8.7 发布—WinterCG 兼容性第一部分
了解更多

ImageCache 允许您缓存来自 HTTP 请求的图像。您也可以使用自动处理图像缓存的插件,例如 @triniwiz/nativescript-image-cache-it

使用 ImageCache

为了保持一致性,您应该在整个应用程序中使用单个 ImageCache 实例。

ts
import { ImageCache } from '@nativescript/core'

const imageCache = new ImageCache()

将图像保存到缓存

要从远程服务器检索图像并将其缓存,请使用 pushenqueue 方法。这些方法缓存 android.graphics.Bitmap(Android)或 UIImage(iOS)实例。

ts
imageCache.enqueue({
  url: this.url,
  key: 'cat',
  completed(image: android.graphics.Bitmap | UIImage, key) {
    console.log('Successfully retrived and cached the cat image')
  },
  error(key) {
    console.log('cache error')
  },
})

注意

要调用 push 方法,只需将 enqueue 替换为 push

从缓存获取图像

要从缓存获取图像,请使用 get 方法。

ts
const cachedImage = imageCache.get('cat')

API

构造函数

ts
const imageCache = new ImageCache()

创建一个 ImageCache 实例。


占位符

ts
imageCache.placeholder = imageSource

用于通知挂起下载请求的图像 - 例如加载指示器。


最大请求

ts
imageCache.number = 2

同时下载请求的最大数量。默认为 5


push

ts
imageCache.push(request)

将新图像添加到缓存的开头request 是一个具有以下成员的对象

  • url(string): 图像的 URL。
  • key(string): 在缓存中唯一标识图像的名称。
  • 可选: completed 是在成功缓存图像时调用的函数。
  • 可选: error 是在缓存过程中发生错误时调用的函数。

enqueue

ts
imageCache.enqueue(request)

将新图像添加到缓存的结尾。有关 request 参数的更多详细信息,请参见 push() 方法。


get

ts
imageCache.get(key)

从缓存中获取具有给定 key 的图像,如果它不在缓存中,则为 undefined。

remove

ts
imageCache.remove(imageKey)

从缓存中删除指定的图像。


clear

ts
imageCache.clear()

清除缓存中的所有图像。


上一个
Http