| Type | Description |
|---|---|
EPdfCacheError | Relata orçamentos, tamanhos de entrada e participantes inválidos |
TPdfCacheKind | Classifica cenas de página (pckPageScene), tiles (pckTile), miniaturas (pckThumbnail), fontes do sistema (pckSystemFont), dados de estrutura (pckStructure), snapshots de texto (pckTextSnapshot), snapshots de objetos de página (pckPageObjectSnapshot), streams decodificados (pckDecodedStream) e entradas do aplicativo (pckApplication) |
TPdfCacheGovernorStatistics | Informa o orçamento, os bytes retidos atual e de pico, os bytes fixados, a contagem de entradas, as reservas, os toques, os despejos e as rejeições; os campos incluem MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount e RejectionCount |
TPdfCacheParticipant | Recebe callbacks síncronos de EvictCacheEntry depois que o governor remove um token de sua contabilidade |
TPdfCacheGovernorEntry | Record interno de contabilidade exposto para compatibilidade com o compilador; os campos incluem Token, Participant, Kind, StoredBytes, LastUsed e Pinned |
TPdfCacheGovernor | Registro de tokens thread-safe com uma única ordem global least-recently-used entre participantes e tipos de cache |
| Member | Description |
|---|---|
Create(AMaxBytes: Int64) | Cria um governor com um orçamento de bytes não negativo |
Destroy | Limpa as entradas registradas antes de liberar o estado de sincronização |
Reserve | Reserva bytes e retorna um token positivo, despejando entradas LRU globais quando possível ou retornando zero quando a entrada não cabe |
Touch | Move um token existente para a posição mais recente |
Release | Remove a contabilidade de um token sem invocar seu callback de despejo |
SetPinned | Protege ou desprotege uma entrada em uso e faz a poda depois de remover a fixação |
Clear | Remove todos os tokens e pede a cada participante que libere sua entrada retida |
Contains | Testa se um token permanece registrado |
UsageForKind | Retorna os bytes retidos de um TPdfCacheKind |
EntryCountForKind | Retorna a contagem de entradas registradas de um TPdfCacheKind |
Statistics | Retorna um snapshot de telemetria protegido por lock |
MaxBytes | Lê ou altera o orçamento total e, após uma redução, faz imediatamente a poda das entradas não fixadas |
O governor nunca é o dono dos participantes nem de seus dados retidos
Cada participante deve sobreviver a todos os seus tokens registrados e não deve disparar exceções em EvictCacheEntry
Os callbacks executam de forma síncrona sem o lock do governor retido, de modo que os participantes podem chamar Release com segurança para tokens relacionados
Entradas fixadas podem manter temporariamente StoredBytes acima de um valor reduzido de MaxBytes até que o último usuário as libere
FPDF_RENDER_LIMITEDIMAGECACHE permanece disponível por meio de reLimitCache e aplica o limite nativo fixo por página de cache de imagem do PDFium
O PDFium não expõe uma ABI pública para um orçamento de bytes de cache de todo o processo configurável ou consultável
O governor, portanto, mede objetos retidos de propriedade do PDFium Delphi Component e usa uma estimativa explícita para cenas de página analisadas opacas