TPDFlibViewerBitmapCache
Datentypen, Viewer-Interaktion, Caching
Beschreibung
Least-recently-used-Bitmap-Cache, der den Speicher begrenzt, den der Viewer für gerenderte Seiten aufwendet
Einträge werden nach Seitennummer plus einem quantisierten Zoom verschlüsselt, sodass ein Zoomwechsel veraltete Renderings natürlich ausscheidet, während sich das Budget füllt; der Cache besitzt seine Bitmaps und gibt sie bei Verdrängung frei
Eine Bitmap, die größer als das Gesamtbudget ist, wird trotzdem allein gespeichert, damit der Viewer die aktuelle Seite immer zeigen kann
Die Klasse ist reiner Code ohne Fensterabhängigkeit, was sie headless testbar hält; der Viewer legt seine Instanz über die Cache-Eigenschaft offen und passt das Budget über SetCacheLimit an
Deklaration
TPDFlibViewerBitmapCache = classParameter
| Create | Erzeugt den Cache mit einem Byte-Budget aus AMaxBytes |
|---|---|
| Get | Gibt die zwischengespeicherte Bitmap zurück und markiert sie als zuletzt verwendet, oder Nil bei einem Fehlgriff |
| Put | Speichert eine Bitmap unter einem Schlüssel und übernimmt deren Eigentum; verdrängt am längsten nicht verwendete Einträge, bis das Budget eingehalten wird |
| RemovePage | Entfernt alle Einträge einer Seite über alle Vergrößerungs- und Drehungsschlüssel hinweg |
| Clear | Gibt jede zwischengespeicherte Bitmap frei |
| Count | Anzahl der gehaltenen Bitmaps |
| UsedBytes | Derzeit gehaltene Bytes |
| MaxBytes | Speicherbudget in Bytes, zur Laufzeit schreibbar |