ExactReallocateOnly

Cache.ExactReallocateOnly property

Yeniden tahsisin kesin olup olmayacağını belirten bir değer alır veya ayarlar. Yeniden tahsis kesin değilse performans daha yüksek olmalıdır.

public static bool ExactReallocateOnly { get; set; }

Mülk değeri

doğru yeniden tahsis kesin ise; aksi halde,yanlış .

Notlar

Tam yeniden tahsis, ek belleğin yeniden tahsisini yalnızca belirtilen üst sınıra kadar gerçekleştirir. Yeniden tahsis sırasında bellek içi için üst sınırı geçerken, mümkünse önbelleğe alınan veriler diske kopyalanır. Yeniden tahsis sırasında disk belleği için üst sınırı geçerken, uygun istisna atılır. Mümkünse ek kopyalama yapılmayacağından bu seçenek kapatılırsa performans daha yüksek olmalıdır, ancak bu bellek veya disk için belirtilen üst sınırların da geçmesine neden olabilir.

Örnekler

Bu örnek Aspose.Imaging.Cache’nin kullanımını göstermektedir.

[C#]

// Varsayılan olarak önbellek klasörü, kullanıcının yerel geçici dizinine ayarlanmıştır.
// Aşağıdaki gibi varsayılandan başka bir önbellek klasörü de belirtebilirsiniz:
// Cache.CacheFolder = @"D:\\MyTemp";

// Otomatik mod esnek ve verimlidir
Aspose.Imaging.Cache.CacheType = Aspose.Imaging.CacheType.Auto;

// Varsayılan değer 0'dır, yani üst sınır yoktur
Aspose.Imaging.Cache.MaxDiskSpaceForCache = 1073741824; // 1 gigabayt
Aspose.Imaging.Cache.MaxMemoryForCache = 1073741824; // 1 gigabayt

// Performansı büyük ölçüde etkileyebileceğinden aşağıdaki özelliğin değiştirilmesi önerilmez.
Aspose.Imaging.Cache.ExactReallocateOnly = false;

// İstediğiniz zaman bellek veya disk için kaç bayt tahsis edildiğini kontrol edebilirsiniz. 
// aşağıdaki özellikleri inceleyerek önbelleğe al
long l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
long l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;

// Aşağıdaki gibi biraz görüntü işleme yapın
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);

    // yukarıdaki kodu çalıştırdıktan sonra bellekte 40000 bayt tahsis edilecektir.
    long diskBytes = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
    long memoryBytes = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;
}

// Tahsis özellikleri, tüm Aspose.Imaging nesnelerinin uygun şekilde atılıp atılmadığını kontrol etmek için kullanılabilir.
// Bazı nesnelerde atmayı unutmanız durumunda, önbellek değerleri 0'dan farklı olacaktır.            
l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;

Ayrıca bakınız