PDFium Delphi Component Docs

FPdfCache jednotka

Jednotka: FPdfCache
Poskytuje sdílený governor bajtového rozpočtu pro uchovávaná PDF data, jejichž vlastníci mohou položky uvolnit na požádání

Typy

TypeDescription
EPdfCacheErrorHlásí neplatné rozpočty, velikosti položek a účastníky
TPdfCacheKindKlasifikuje scény stránek (pckPageScene), dlaždice (pckTile), miniatury (pckThumbnail), systémová písma (pckSystemFont), strukturní data (pckStructure), textové snímky (pckTextSnapshot), snímky objektů stránek (pckPageObjectSnapshot), dekódované proudy (pckDecodedStream) a aplikační položky (pckApplication)
TPdfCacheGovernorStatisticsHlásí rozpočet, aktuální a špičkové uchované bajty, připíchnuté bajty, počet položek, rezervace, dotyky, evikce a odmítnutí; pole zahrnují MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantPřijímá synchronní zpětná volání EvictCacheEntry poté, co governor odstranil token ze své účetnosti
TPdfCacheGovernorEntryInterní účetní záznam vystavený pro kompatibilitu s kompilátorem; pole zahrnují Token, Participant, Kind, StoredBytes, LastUsed a Pinned
TPdfCacheGovernorThread-safe registr tokenů s jediným globálním pořadím least-recently-used napříč účastníky a druhy mezipaměti

Členové TPdfCacheGovernor

MemberDescription
Create(AMaxBytes: Int64)Vytvoří governor s nezáporným bajtovým rozpočtem
DestroyVymaže registrované položky před uvolněním synchronizačního stavu
ReserveRezervuje bajty a vrátí kladný token, přičemž pokud možno evikuje globální LRU položky, nebo vrátí nulu, když se položka nevejde
TouchPřesune existující token na nejnovější pozici
ReleaseOdstraní účetnictví tokenu bez vyvolání jeho evikčního zpětného volání
SetPinnedChrání nebo zruší ochranu používané položky a po odpíchnutí provede zúžení
ClearOdstraní všechny tokeny a požádá každého účastníka o uvolnění jeho uchované položky
ContainsTestuje, zda token zůstává registrován
UsageForKindVrací uchované bajty pro jeden TPdfCacheKind
EntryCountForKindVrací počet registrovaných položek pro jeden TPdfCacheKind
StatisticsVrací zámekem chráněný telemetrický snímek
MaxBytesČte nebo mění celkový rozpočet a po snížení okamžitě zúží nepřipíchnuté položky

Vlastnictví a kontrakt zpětných volání

Governor nikdy nevlastní účastníky ani jejich uchovaná data

Každý účastník musí přežívat všechny své registrované tokeny a nesmí vyvolávat výjimku z EvictCacheEntry

Zpětná volání běží synchronně bez drženého zámku governoru, takže účastníci mohou bezpečně volat Release pro související tokeny

Připíchnuté položky mohou dočasně udržet StoredBytes nad sníženou hodnotou MaxBytes, dokud je poslední uživatel neodpíchne

Hranice PDFium

FPDF_RENDER_LIMITEDIMAGECACHE zůstává dostupný přes reLimitCache a aplikuje pevný nativní limit mezipaměti obrázků PDFium na stránku

PDFium nevystavuje žádné public ABI pro konfigurovatelný či dotazovatelný celoprocesový bajtový rozpočet mezipaměti

Governor proto měří uchované objekty vlastněné PDFiumPas a pro neprůhledné parsované scény stránek používá explicitní odhad

Viz také

Governot mezipaměti TPdf, TPdfTileCache, ConfigureSystemFontCacheGovernor