property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics; // read only
type TPdfThumbnailCacheStatistics = record
EntryCount: Integer;
StoredBytes: Int64;
HitCount: Int64;
MissCount: Int64;
EvictionCount: Int64;
end;
| EntryCount | 保留的条目数,同时计入有效的位图条目和记录可选内嵌缩略图不存在的缓存条目 |
| StoredBytes | 按宽度乘高度乘四字节估算的位图内存;零字节的否定条目不增加任何值 |
| HitCount | 由保留条目直接服务的累计查找次数 |
| MissCount | 必须提取或渲染的累计查找次数,包括禁用保留期间进行的每一次查找 |
| EvictionCount | 因最近最少使用压力或上限缩小而被丢弃的累计条目数 |
重复的 ExtractThumbnail 和 RenderPageThumbnail 调用会在本机 PDFium 页面访问所用的同一渲染锁下产生命中和未命中,因此计数器只通过已文档化的查找路径变化
每次成功的位图查找都返回一个由调用方持有的深拷贝,因此释放或修改返回的位图不会影响后续的命中,缓存条目也会保留其计量字节,直到被逐出或失效
计数器在 TPdf 实例的生命周期内累计。ClearThumbnailCache 和内部失效路径都会保留这些计数器
当上限压力丢弃保留条目时会计入一次逐出,包括管理器为遵守 CacheBudgetBytes 而逐出缩略图;因页面被编辑而丢弃条目属于失效,不会增长 EvictionCount
当缓存不可用时,读取会返回全零记录,实践中这只发生在组件正常生命周期之外
Stats := Pdf.ThumbnailCacheStatistics;
LogThumbnailCache(Stats.EntryCount, Stats.HitCount, Stats.MissCount,
Stats.EvictionCount);