PDFium Delphi Component Docs

TPdf-cachehanterarens egenskaper

Component: TPdf  ·  Units: PDFium, FPdfCache
Samordnar kvarhållna sidoscener, miniatyrbilder, strukturer, textsnapshotar och sidobjektssnapshotar under en mätbar bytegräns

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

Ändrar du värdet slår det igenom direkt i varje deltagande cache som ägs av den här TPdf-instansen

Sätter du värdet till noll stängs ny retention av och varje inaktiv post kastas ut

Negativa värden utlöser EPdfError

Aktiva parsade sidoscener pinnas och kan tillfälligt hålla den uppmätta användningen över en sänkt budget tills renderingen släpper dem

CacheGovernor

property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf

Returnerar den gemensamma governorn för användningsförfrågningar per typ och valfri samordning med cacher som ägs av applikationen

Frigör inte det returnerade objektet och behåll inga referenser till det efter att den ägande TPdf-instansen förstörts

Anropare kan registrera pckApplication-poster via en deltagare som följer FPdfCache:s callback- och livstidskontrakt

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

Returnerar aktuella och högsta uppmätta bytes, pinnade bytes, antal poster, reservations- och åtkomstaktivitet, utkastningar och avslagna reservationer

Snapshoten täcker bara kvarhållna bibliotekscacheposter

Bitmapkopior som ägs av anroparen och returnerade snapshotkopior ligger kvar utanför budgeten, medan läsningar av avkodade strömmar förblir flyktiga och behåller sina befintliga hårda gränser per operation

Measurement model

Bitmapcacher använder bredd gånger höjd gånger fyra bytes

Hanterade snapshotcacher inkluderar postarrayer, strängar, bytebuffertar, sökvägssegment, klippdata, markeringar, bildmetadata och nästlade värden

Parsade PDFium-sidoscener är opaka native-handles och belastas med 8 MiB per kvarhållen scen i redovisningen, i stället för att göra anspråk på exakt native heap-användning

Example

var
  Stats: TPdfCacheGovernorStatistics;
begin
  Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
  Stats := Pdf.CacheGovernorStatistics;
  LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
    Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;

See Also

FPdfCache, Miniatyrbildscache, PageSceneCacheCapacity, Strukturcache, Textsnapshotcache, Sidobjektssnapshotcache