TPDFlibViewerBitmapCache

Types de données, interaction avec la visionneuse, mise en cache

Description

Cache de bitmaps avec éviction selon le moins récent usage qui borne la mémoire que la visionneuse consacre aux pages rendues

Les entrées sont indexées par numéro de page plus un zoom quantifié ; changer le zoom fait donc naturellement partir les rendus périmés à mesure que le budget se remplit ; le cache est propriétaire de ses bitmaps et les libère à l'éviction

Un bitmap plus grand que tout le budget est quand même stocké seul pour que la visionneuse puisse toujours afficher la page actuelle

La classe est du code pur sans dépendance de fenêtre, ce qui la maintient testable headless ; la visionneuse expose son instance via la propriété Cache et redimensionne le budget via SetCacheLimit

Déclaration

TPDFlibViewerBitmapCache = class

Paramètres

CreateConstruit le cache avec un budget en octets fourni par AMaxBytes
GetRenvoie le bitmap en cache et le marque comme le plus récemment utilisé, ou Nil en cas d'absence
PutStocke un bitmap sous une clé et en prend possession ; évince les entrées les moins récemment utilisées jusqu'à ce que le budget tienne
RemovePageSupprime toutes les entrées d'une page, pour toutes les clés de zoom et de rotation
ClearLibère tous les bitmaps en cache
CountNombre de bitmaps conservés
UsedBytesOctets actuellement détenus
MaxBytesBudget mémoire en octets, modifiable à l'exécution

Voir aussi

Cache, SetCacheLimit, IsPageCached, TPDFlibViewer