| Type | Description |
|---|---|
EPdfCacheError | Raportează bugete, dimensiuni de intrări și participanți invalizi |
TPdfCacheKind | Clasifică scene de pagină (pckPageScene), dale (pckTile), miniaturi (pckThumbnail), fonturi de sistem (pckSystemFont), date de structură (pckStructure), instantanee de text (pckTextSnapshot), instantanee de obiecte de pagină (pckPageObjectSnapshot), fluxuri decodate (pckDecodedStream) și intrări de aplicație (pckApplication) |
TPdfCacheGovernorStatistics | Raportează bugetul, octeții reținuți curent și la maxim, octeții fixați, numărul de intrări, rezervările, accesările, evacuările și respingerile; câmpurile includ MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount |
TPdfCacheParticipant | Primește callback-uri sincrone EvictCacheEntry după ce guvernatorul a eliminat un token din contabilitatea sa |
TPdfCacheGovernorEntry | Înregistrare internă de contabilitate expusă pentru compatibilitate cu compilatorul; câmpurile includ Token, Participant, Kind, StoredBytes, LastUsed și Pinned |
TPdfCacheGovernor | Registru de token-uri thread-safe, cu o singură ordine globală de tip least-recently-used între participanți și tipurile de cache |
| Membru | Descriere |
|---|---|
Create(AMaxBytes: Int64) | Creează un guvernator cu un buget de octeți nenegativ |
Destroy | Curăță intrările înregistrate înainte de a elibera starea de sincronizare |
Reserve | Rezervă octeți și returnează un token pozitiv, evacuând intrări LRU globale când este posibil sau returnând zero când intrarea nu încape |
Touch | Mută un token existent pe cea mai nouă poziție |
Release | Elimină contabilitatea unui token fără a-i invoca callback-ul de evacuare |
SetPinned | Fixează sau deblochează o intrare aflată în uz și taie din cache după deblocare |
Clear | Elimină toate token-urile și cere fiecărui participant să-și elibereze intrarea reținută |
Contains | Verifică dacă un token rămâne înregistrat |
UsageForKind | Returnează octeții reținuți pentru un anumit TPdfCacheKind |
EntryCountForKind | Returnează numărul de intrări înregistrate pentru un TPdfCacheKind |
Statistics | Returnează un instantaneu de telemetrie protejat prin blocare |
MaxBytes | Citește sau schimbă bugetul total și taie imediat intrările nefixate după o reducere |
Guvernatorul nu deține niciodată participanții sau datele lor reținute
Fiecare participant trebuie să supraviețuiască tuturor token-urilor sale înregistrate și nu trebuie să ridice excepții din EvictCacheEntry
Callback-urile rulează sincron, fără ca blocarea guvernatorului să fie menținută, astfel încât participanții pot apela în siguranță Release pentru token-uri înrudite
Intrările fixate pot menține temporar StoredBytes peste o valoare MaxBytes redusă, până când ultimul utilizator le deblochează
FPDF_RENDER_LIMITEDIMAGECACHE rămâne disponibil prin reLimitCache și aplică limita nativă fixă de cache de imagini per pagină a PDFium
PDFium nu expune niciun ABI public pentru un buget de octeți de cache la nivel de proces, configurabil sau interogabil
Guvernatorul măsoară, prin urmare, obiectele reținute aparținând PDFiumPas și folosește o estimare explicită pentru scenele de pagină parsate, opace