类 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.Imaging.Cache 的使用。
[C#]
// 默认情况下,缓存文件夹设置为用户的本地临时目录。
// 您也可以指定除默认之外的其他缓存文件夹,如下所示:
// Cache.CacheFolder = @"D:\\MyTemp";
// 自动模式灵活且高效
Aspose.Imaging.Cache.CacheType = Aspose.Imaging.CacheType.Auto;
// 默认值为 0,这意味着没有上限
Aspose.Imaging.Cache.MaxDiskSpaceForCache = 1073741824; // 1 gigabyte
Aspose.Imaging.Cache.MaxMemoryForCache = 1073741824; // 1 gigabyte
// 不建议更改以下属性,因为它可能会极大影响性能
Aspose.Imaging.Cache.ExactReallocateOnly = false;
// 您可以随时检查当前为内存或磁盘分配了多少字节
// 通过检查以下属性来查看缓存
long l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
long l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;
// 如下进行一些图像处理
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);
// 执行上述代码后,将在内存中分配 40000 字节。
long diskBytes = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
long memoryBytes = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;
}
// 分配属性可用于检查所有 Aspose.Imaging 对象是否已正确释放。
// 如果您忘记对某些对象调用 dispose,缓存值将不为 0。
l1 = Aspose.Imaging.Cache.AllocatedDiskBytesCount;
l2 = Aspose.Imaging.Cache.AllocatedMemoryBytesCount;
另请参见
- namespace Aspose.Imaging
- assembly Aspose.Imaging