property CacheBudgetBytes: Int64; // default 256 MiB
Alterar o valor tem efeito imediato em todos os caches participantes de propriedade desta instância de TPdf
Definir o valor como zero desabilita novas retenções e despeja todas as entradas inativas
Valores negativos disparam EPdfError
Cenas de página analisadas ativas são fixadas e podem manter o uso medido temporariamente acima de um orçamento reduzido até que a renderização as libere
property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf
Retorna o governor compartilhado para consultas de uso por tipo e coordenação opcional com caches de propriedade do aplicativo
Não libere o objeto retornado e não o retenha depois que a instância de TPdf à qual pertence for destruída
Chamadores podem registrar entradas pckApplication por meio de um participante que segue o contrato de callbacks e de tempo de vida do FPdfCache
property CacheGovernorStatistics: TPdfCacheGovernorStatistics;
Retorna bytes medidos atuais e de pico, bytes fixados, contagem de entradas, atividade de reservas e de acessos, despejos e reservas rejeitadas
O snapshot cobre apenas entradas de cache retidas pela biblioteca
Cópias de bitmap de propriedade do chamador e cópias de snapshots retornadas permanecem fora do orçamento, enquanto leituras de streams decodificados permanecem efêmeras e mantêm seus limites rígidos existentes por operação
Caches de bitmap usam largura vezes altura vezes quatro bytes
Caches de snapshots gerenciados incluem arrays de records, strings, buffers de bytes, segmentos de caminho, dados de recorte, marcas, metadados de imagem e valores aninhados
Cenas de página do PDFium analisadas são handles nativos opacos e recebem uma cobrança contábil de 8 MiB por cena retida, em vez de uma alegação de uso exato do heap nativo
var
Stats: TPdfCacheGovernorStatistics;
begin
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;