| Type | Description |
|---|---|
EPdfCacheError | Raportuje nieprawidłowe budżety, rozmiary wpisów i uczestników |
TPdfCacheKind | Klasyfikuje sceny stron (pckPageScene), kafle (pckTile), miniatury (pckThumbnail), czcionki systemowe (pckSystemFont), dane struktury (pckStructure), migawki tekstu (pckTextSnapshot), migawki obiektów stron (pckPageObjectSnapshot), zdekodowane strumienie (pckDecodedStream) i wpisy aplikacji (pckApplication) |
TPdfCacheGovernorStatistics | Raportuje budżet, bieżące i szczytowe zachowane bajty, bajty przypięte, liczbę wpisów, rezerwacje, dotknięcia, eksmisje i odrzucenia; pola obejmują MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount |
TPdfCacheParticipant | Otrzymuje synchroniczne wywołania zwrotne EvictCacheEntry po tym, jak zarządca usunął token ze swojej ewidencji |
TPdfCacheGovernorEntry | Wewnętrzny rekord ewidencji ujawniony dla zgodności z kompilatorem; pola obejmują Token, Participant, Kind, StoredBytes, LastUsed i Pinned |
TPdfCacheGovernor | Bezpieczny wątkowo rejestr tokenów z jednym globalnym porządkiem najdawniej używanych wśród uczestników i rodzajów buforów |
| Member | Description |
|---|---|
Create(AMaxBytes: Int64) | Tworzy zarządcę z nieujemnym budżetem bajtów |
Destroy | Czyści zarejestrowane wpisy przed zwolnieniem stanu synchronizacji |
Reserve | Rezerwuje bajty i zwraca dodatni token, eksmitując globalne wpisy LRU, gdy to możliwe, albo zwraca zero, gdy wpis się nie mieści |
Touch | Przenosi istniejący token na najnowszą pozycję |
Release | Usuwa ewidencję tokenu bez wywoływania jego wywołania zwrotnego eksmisji |
SetPinned | Chroni lub zdejmuje ochronę z używanego wpisu i przycina po odpięciu |
Clear | Usuwa wszystkie tokeny i prosi każdego uczestnika o zwolnienie jego zachowanego wpisu |
Contains | Sprawdza, czy token pozostaje zarejestrowany |
UsageForKind | Zwraca zachowane bajty dla jednego TPdfCacheKind |
EntryCountForKind | Zwraca liczbę zarejestrowanych wpisów dla jednego TPdfCacheKind |
Statistics | Zwraca chronioną blokadą migawkę telemetrii |
MaxBytes | Odczytuje lub zmienia całkowity budżet i natychmiast przycina nieprzypięte wpisy po redukcji |
Zarządca nigdy nie posiada uczestników ani ich zachowanych danych
Każdy uczestnik musi przeżyć wszystkie swoje zarejestrowane tokeny i nie może zgłaszać wyjątków z EvictCacheEntry
Wywołania zwrotne działają synchronicznie bez trzymanej blokady zarządcy, więc uczestnicy mogą bezpiecznie wywoływać Release dla powiązanych tokenów
Przypięte wpisy mogą czasowo utrzymywać StoredBytes powyżej zredukowanej wartości MaxBytes, dopóki ostatni użytkownik ich nie odpiśnie
FPDF_RENDER_LIMITEDIMAGECACHE pozostaje dostępny przez reLimitCache i stosuje stały natywny limit bufora obrazów na stronę PDFium
PDFium nie udostępnia publicznego ABI dla konfigurowalnego ani odpytywalnego ogólnoprocesowego budżetu bajtów bufora
Zarządca mierzy zatem zachowane obiekty należące do PDFium Delphi Component i używa jawnego szacunku dla nieprzejrzystych sparsowanych scen stron