title | contributors | ||
---|---|---|---|
ImageCache |
|
ImageCache allows you to cache an image from an HTTP request. You can alternatively use a plugin that auto handles image caching like @triniwiz/nativescript-image-cache-it
.
For consistency, you should use a single ImageCache instance throughout your app.
import { ImageCache } from '@nativescript/core'
const imageCache = new ImageCache()
To retrieve an image from a remote server and cache it, use either the push or enqueue method. These methods cache the android.graphics.Bitmap
(Android) or UIImage
(iOS) instance.
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')
},
})
:::tip Note
To call the push method instead, just replace enqueue
with push
:::
To get an image from the cache, use the get method.
const cachedImage = imageCache.get('cat')
const imageCache = new ImageCache()
Creates an ImageCache instance.
imageCache.placeholder = imageSource
The image to be used to notify for a pending download request - e.g. loading indicator.
imageCache.number = 2
The maximum number of simultaneous download requests. Defaults to 5
imageCache.push(request)
Adds a new image to the start of the cache. request
is an object with the following members:
url
(string
): The url of the image.key
(string
): The name to uniquely identify the image in the cache.- Optional:
completed
is a function to be called upon caching an image successfully. - Optional:
error
is a function to be called when error has occured during caching.
imageCache.enqueue(request)
Adds a new image to the end of the cache. For more details about the request
parameter, see the push() method.
imageCache.get(key)
Gets the image with a given key
from the cache, or undefined if it's not in the cache.
imageCache.remove(imageKey)
Remove the specified image from the cache.
imageCache.clear()
Clears all the images from the cache.