Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Avvertimento
Questo documento è stato archiviato e il componente non è disponibile nella versione corrente di Windows Community Toolkit.
Sebbene non ci siano piani immediati per convertire questo componente in 8.x, la community è lieta di esprimere interesse o contribuire alla sua inclusione.
Per altre informazioni:
La documentazione originale è riportata di seguito.
ImageCache fornisce metodi e strumenti per memorizzare nella cache le immagini in una cartella locale temporanea. ImageCache supporta anche il livello facoltativo di memorizzazione nella cache, che offre prestazioni migliori quando vengono richieste più volte le stesse immagini, ad esempio in elenchi virtualizzati lunghi di immagini. Questo tipo di memorizzazione nella cache è disabilitato per impostazione predefinita, ma può essere abilitato impostando MaxMemoryCacheSize su dimensioni desiderate. Ad esempio: l'impostazione di MaxMemoryCacheSize su 100 indica che 100 ultime immagini richieste verranno mantenute in memoria per essere immediatamente disponibili, senza letture su disco.
Sintassi
// Set cache duration
ImageCache.Instance.CacheDuration = TimeSpan.FromHours(24);
// Enable in-memory caching
ImageCache.Instance.MaxMemoryCacheCount = 100;
var distantUri = new Uri("https://www.myserver.com/image.jpg");
// Load a specific image from the cache. If the image is not in the cache, ImageCache will try to download and store it
var bitmapImage = await ImageCache.Instance.GetFromCacheAsync(distantUri);
// Clear the cache. Please note that you can provide a parameter to define a timespan from now to select cache entries to delete.
await ImageCache.Instance.ClearAsync();
' Set cache duration
ImageCache.Instance.CacheDuration = TimeSpan.FromHours(24)
' Enable in-memory caching
ImageCache.Instance.MaxMemoryCacheCount = 100
Dim distantUri = New Uri("https://www.myserver.com/image.jpg")
' Load a specific image from the cache. If the image is not in the cache, ImageCache will try to download and store it
Dim bitmapImage = Await ImageCache.Instance.GetFromCacheAsync(distantUri)
' Clear the cache. Please note that you can provide a parameter to define a timespan from now to select cache entries to delete.
Await ImageCache.Instance.ClearAsync()
Proprietà
| Proprietà | TIPO | Description |
|---|---|---|
| Cacheduration | TimeSpan | Ottiene o imposta la durata di ogni voce della cache |
| HttpClient | HttpClient | Ottiene l'istanza di HttpClient |
| Istanza | ImageCache | Ottiene la proprietà singleton pubblica |
| MaintainContext | bool | Ottiene o imposta un valore che indica se il contesto deve essere mantenuto fino a quando il tipo è stato istanziato o meno. |
| MaxMemoryCacheCount | int | Ottiene o imposta il numero massimo di archiviazione degli elementi in memoria |
| Numero di tentativi | uint | Ottiene o imposta il numero di tentativi che tentano di assicurarsi che il file sia memorizzato nella cache |
Methods
| Methods | Tipo di ritorno | Description |
|---|---|---|
| ClearAsync() | Task | Cancella tutti i file nella cache |
| ClearAsync(TimeSpan) | Task | Cancella il file se è scaduto |
| GetFileFromCacheAsync(Uri) | Task<StorageFile> | Ottiene l'oggetto StorageFile contenente l'oggetto memorizzato nella cache associato all'URI specificato |
| GetFromCacheAsync(Uri, Boolean, CancellationToken, List<KeyValuePair<string, object>>) | Attività<T> | Recupera l'elemento rappresentato dall'URI dalla cache. Se l'elemento non viene trovato nella cache, tenterà di scaricarlo e salvarlo prima di restituirlo al chiamante |
| GetFromMemoryCache(Uri) | T | Recupera l'elemento rappresentato dall'URI dalla cache in memoria, se esistente e non è aggiornato. Se l'elemento non viene trovato o non è aggiornato, viene restituita l'istanza predefinita del tipo generico |
| PreCacheAsync(Uri, Boolean, Boolean, CancellationToken) | Task | Assicura che l'elemento rappresentato dall'URI sia memorizzato nella cache |
| RemoveAsync(IEnumerable) | Task | Elementi rimossi in base all'elenco di URI fornito |
| RemoveExpiredAsync(Nullable) | Task | Rimuove i file memorizzati nella cache scaduti |
Progetto di esempio
Origine della pagina di esempio della cache delle immagini. Puoi vederlo in azione nell'app di esempio di Windows Community Toolkit.
Requisiti
| Famiglia di dispositivi | Universale, 10.0.16299.0 o versione successiva |
|---|---|
| Namespace | Microsoft.Toolkit.Uwp |
| Pacchetto NuGet | Microsoft.Toolkit.Uwp |
API
.NET Community Toolkit