Cache

Cache class

Contiene le impostazioni della cache.

public static class Cache

Proprietà

NomeDescrizione
static AllocatedDiskBytesCount { get; }Ottiene il conteggio dei byte del disco allocato.
static AllocatedMemoryBytesCount { get; }Ottiene il conteggio dei byte in memoria allocati.
static CacheFolder { get; set; }Ottiene o imposta la cartella della cache.
static CacheType { get; set; }Ottiene o imposta lo schema della cache utilizzato.
static ExactReallocateOnly { get; set; }Ottiene o imposta un valore che indica se la riallocazione deve essere esatta o meno. Se la riallocazione non è esatta, le prestazioni dovrebbero essere superiori.
static MaxDiskSpaceForCache { get; set; }Ottiene o imposta lo spazio su disco massimo disponibile per la cache. Il valore specificato è il conteggio dei megabyte.
static MaxMemoryForCache { get; set; }Ottiene o imposta la memoria massima disponibile per la cache in memoria. Il valore specificato è il conteggio dei megabyte.

Metodi

NomeDescrizione
static SetDefaults()Imposta ilCache impostazioni predefinite.

Esempi

Questo esempio illustra l’uso di Aspose.Imaging.Cache

[C#]

// Per impostazione predefinita, la cartella della cache è impostata sulla directory temporanea locale dell'utente.
// Puoi anche specificare un'altra cartella cache rispetto a quella predefinita come la seguente:
// Cache.CacheFolder = @"D:\\MyTemp";

// La modalità automatica è flessibile ed efficiente
Aspose.Imaging.Cache.CacheType = Aspose.Imaging.CacheType.Auto;

// Il valore predefinito è 0, il che significa che non esiste un limite superiore
Aspose.Imaging.Cache.MaxDiskSpaceForCache = 1073741824; // 1 gigabyte
Aspose.Imaging.Cache.MaxMemoryForCache = 1073741824; // 1 gigabyte

// Non è consigliabile modificare la seguente proprietà in quanto potrebbe influire notevolmente sulle prestazioni
Aspose.Imaging.Cache.ExactReallocateOnly = false;

// In qualsiasi momento puoi controllare quanti byte sono attualmente allocati per la memoria o il disco 
// memorizza nella cache esaminando le seguenti proprietà
long l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
long l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;

// Esegui un po' di elaborazione delle immagini come di seguito
Aspose.Imaging.ImageOptions.GifOptions options = new Aspose.Imaging.ImageOptions.GifOptions();
options.Palette = new ColorPalette(new Aspose.Imaging.Color[] { Aspose.Imaging.Color.Red, Aspose.Imaging.Color.Blue, Aspose.Imaging.Color.Black, Aspose.Imaging.Color.White });
options.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(options, 100, 100))
{
    Aspose.Imaging.Color[] pixels = new Aspose.Imaging.Color[10000];
    for (int i = 0; i < pixels.Length; i++)
    {
        pixels[i] = Aspose.Imaging.Color.White;
    }

    image.SavePixels(image.Bounds, pixels);

    // dopo aver eseguito il codice sopra, verranno allocati 40000 byte in memoria.
    long diskBytes = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
    long memoryBytes = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;
}

// Le proprietà di allocazione possono essere utilizzate per verificare se tutti gli oggetti Aspose.Imaging sono stati eliminati correttamente.
// Nel caso in cui ti sei dimenticato di chiamare dispose su qualche oggetto, i valori della cache saranno diversi da 0.            
l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;

Guarda anche