property CacheBudgetBytes: Int64; // default 256 MiB
更改该值会立即作用于此 TPdf 实例拥有的每个参与缓存
把该值设为零会禁用新的保留,并逐出所有非活动条目
负值会抛出 EPdfError
活动的已解析页面场景会被固定,在渲染释放它们之前,测量用量可能会暂时高于已降低的预算
property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf
返回共享调控器,用于按类别的用量查询以及与应用自有缓存的可选协调
不要释放返回的对象,也不要在所属 TPdf 实例销毁后继续保留它
调用方可以通过遵循 FPdfCache 回调与生命周期契约的参与者注册 pckApplication 条目
property CacheGovernorStatistics: TPdfCacheGovernorStatistics;
返回当前与峰值测量字节、固定字节、条目数量、预留与访问活动、逐出次数和被拒绝的预留
该快照只覆盖库保留的缓存条目
调用方持有的位图副本和返回的快照副本不计入预算,解码流读取仍然是临时的,并保留其现有的每操作硬限制
位图缓存按宽度乘以高度再乘以 4 字节计算
托管快照缓存包括记录数组、字符串、字节缓冲区、路径段、剪裁数据、标记、图像元数据和嵌套值
已解析的 PDFium 页面场景是不透明的原生句柄,每个保留场景按 8 MiB 记账,而非宣称精确的原生堆占用
var
Stats: TPdfCacheGovernorStatistics;
begin
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;