Class Cache

Cache class

Содержит настройки кеша.

public static class Cache

Характеристики

ИмяОписание
static AllocatedDiskBytesCount { get; }Получает количество выделенных байтов на диске.
static AllocatedMemoryBytesCount { get; }Получает количество выделенных байтов в памяти.
static CacheFolder { get; set; }Получает или задает папку кэша.
static CacheType { get; set; }Получает или задает используемую схему кэширования.
static ExactReallocateOnly { get; set; }Получает или задает значение, указывающее, должно ли перераспределение быть точным или нет. Если перераспределение не точное, производительность должна быть выше.
static MaxDiskSpaceForCache { get; set; }Получает или задает максимальное доступное дисковое пространство для кэша. Указанное значение равно количеству мегабайт.
static MaxMemoryForCache { get; set; }Получает или задает максимально доступную память для кэша в памяти. Указанное значение равно количеству мегабайт.

Методы

ИмяОписание
static SetDefaults()УстанавливаетCache настройки по умолчанию.

Примеры

Этот пример демонстрирует использование Aspose.PSD.Cache

[C#]

// По умолчанию папка кеша устанавливается в локальный временный каталог пользователя.
// Вы также можете указать другую папку кеша, отличную от стандартной, например:
// Cache.CacheFolder = @"D:\\MyTemp";

string path = "C:\\temp\\image.psd";

// Автоматический режим гибок и эффективен
Cache.CacheType = CacheType.Auto;

// Значение по умолчанию равно 0, что означает отсутствие верхнего предела
Cache.MaxDiskSpaceForCache = 1073741824; // 1 гигабайт
Cache.MaxMemoryForCache = 1073741824; // 1 гигабайт

// Не рекомендуется изменять следующее свойство, так как это может сильно повлиять на производительность
Cache.ExactReallocateOnly = false;

// В любой момент вы можете проверить, сколько байт в данный момент выделено для памяти или диска 
// кешируем, изучая следующие свойства
long l1 = Cache.AllocatedDiskBytesCount;
long l2 = Cache.AllocatedMemoryBytesCount;

// Выполняем некоторую обработку изображения, как показано ниже
using (RasterImage image = (RasterImage)Image.Load(path))
{
    Color[] pixels = new Color[image.Width * image.Height];
    for (int i = 0; i < pixels.Length; i++)
    {
        pixels[i] = Color.White;
    }

    image.SavePixels(image.Bounds, pixels);

    // после выполнения кода выше будет выделено 40000 байт в памяти.
    long diskBytes = Cache.AllocatedDiskBytesCount;
    long memoryBytes = Cache.AllocatedMemoryBytesCount;
}

// Свойства выделения можно использовать для проверки правильности размещения всех объектов Aspose.PSD.
// Если вы забыли вызвать dispose для какого-либо объекта, значения кеша будут отличаться от 0.            
l1 = Cache.AllocatedDiskBytesCount;
l2 = Cache.AllocatedMemoryBytesCount;

Смотрите также