PDFium Delphi Component Docs

FPdfCache birimi

Unit: FPdfCache
Sahipleri girdileri talep üzerine serbest bırakabilen, tutulan PDF verisi için paylaşımlı bir bayt bütçesi yöneticisi sağlar

Types

TypeDescription
EPdfCacheErrorGeçersiz bütçeleri, girdi boyutlarını ve katılımcıları bildirir
TPdfCacheKindSayfa sahnelerini (pckPageScene), döşemeleri (pckTile), küçük resimleri (pckThumbnail), sistem yazı tiplerini (pckSystemFont), yapı verisini (pckStructure), metin anlık görüntülerini (pckTextSnapshot), sayfa nesnesi anlık görüntülerini (pckPageObjectSnapshot), çözülmüş akışları (pckDecodedStream) ve uygulama girdilerini (pckApplication) sınıflandırır
TPdfCacheGovernorStatisticsBütçeyi, güncel ve en yüksek tutulan baytları, sabitlenmiş baytları, girdi sayısını, rezervasyonları, dokunuşları, çıkarmaları ve reddedilenleri bildirir; alanlar arasında MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount bulunur
TPdfCacheParticipantYönetici bir token'ı muhasebesinden çıkardıktan sonra eşzamanlı EvictCacheEntry geri çağrılarını alır
TPdfCacheGovernorEntryDerleyici uyumluluğu için açığa çıkarılan dahili muhasebe kaydı; alanlar arasında Token, Participant, Kind, StoredBytes, LastUsed ve Pinned bulunur
TPdfCacheGovernorKatılımcılar ve önbellek türleri arasında tek bir global en eski kullanım (least-recently-used) sırası sunan, iş parçacığı açısından güvenli token kayıt defteri

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Negatif olmayan bir bayt bütçesiyle yönetici oluşturur
DestroySenkronizasyon durumunu serbest bırakmadan önce kayıtlı girdileri temizler
ReserveBayt ayırır ve pozitif bir token döndürür; mümkün olduğunda global LRU girdilerini çıkarır, girdi sığmıyorsa sıfır döndürür
TouchMevcut bir token'ı en yeni konuma taşır
ReleaseBir token'ın muhasebesini, çıkarma geri çağrısını çağırmadan kaldırır
SetPinnedKullanımdaki bir girdiyi korur ya da korumayı kaldırır ve sabitlemeyi açtıktan sonra budar
ClearTüm token'ları kaldırır ve her katılımcıdan tuttuğu girdiyi serbest bırakmasını ister
ContainsBir token'ın kayıtlı kalıp kalmadığını sınar
UsageForKindTek bir TPdfCacheKind için tutulan baytları döndürür
EntryCountForKindTek bir TPdfCacheKind için kayıtlı girdi sayısını döndürür
StatisticsKilit korumalı bir telemetri anlık görüntüsü döndürür
MaxBytesToplam bütçeyi okur ya da değiştirir ve bir düşürmeden sonra sabitlenmemiş girdileri hemen budar

Ownership and callback contract

Yönetici asla katılımcıların ya da onların tuttuğu verinin sahibi olmaz

Her katılımcı, kayıtlı tüm token'larından uzun ömürlü olmalı ve EvictCacheEntry içinden istisna fırlatmamalıdır

Geri çağırmalar, yönetici kilidi tutulmadan eşzamanlı çalışır; bu yüzden katılımcılar ilgili token'lar için güvenle Release çağırabilir

Sabitlenmiş girdiler, son kullanıcı sabitlemeyi açana kadar geçici olarak StoredBytes değerini düşürülmüş MaxBytes değerinin üzerinde tutabilir

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE, reLimitCache üzerinden erişilebilir kalır ve PDFium'un sabit yerel sayfa başına görüntü önbelleği sınırını uygular

PDFium, yapılandırılabilir ya da sorgulanabilir süreç geneli bir önbellek bayt bütçesi için ortak bir ABI açığa çıkarmaz

Bu yüzden yönetici, PDFium Delphi Component'e ait tutulan nesneleri ölçer ve opak ayrıştırılmış sayfa sahneleri için açık bir tahmin kullanır

See Also

TPdf önbellek yöneticisi, TPdfTileCache, ConfigureSystemFontCacheGovernor