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 = class

Parameter

CreateErzeugt den Cache mit einem Byte-Budget aus AMaxBytes
GetGibt die zwischengespeicherte Bitmap zurück und markiert sie als zuletzt verwendet, oder Nil bei einem Fehlgriff
PutSpeichert eine Bitmap unter einem Schlüssel und übernimmt deren Eigentum; verdrängt am längsten nicht verwendete Einträge, bis das Budget eingehalten wird
RemovePageEntfernt alle Einträge einer Seite über alle Vergrößerungs- und Drehungsschlüssel hinweg
ClearGibt jede zwischengespeicherte Bitmap frei
CountAnzahl der gehaltenen Bitmaps
UsedBytesDerzeit gehaltene Bytes
MaxBytesSpeicherbudget in Bytes, zur Laufzeit schreibbar

Siehe auch

Cache, SetCacheLimit, IsPageCached, TPDFlibViewer