基本概念
图像缓存
ImageCache 允许您缓存来自 HTTP 请求的图像。您也可以使用自动处理图像缓存的插件,例如 @triniwiz/nativescript-image-cache-it
。
使用 ImageCache
为了保持一致性,您应该在整个应用程序中使用单个 ImageCache 实例。
ts
import { ImageCache } from '@nativescript/core'
const imageCache = new ImageCache()
将图像保存到缓存
要从远程服务器检索图像并将其缓存,请使用 push 或 enqueue 方法。这些方法缓存 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()
清除缓存中的所有图像。