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 = classParamètres
| Create | Construit le cache avec un budget en octets fourni par AMaxBytes |
|---|---|
| Get | Renvoie le bitmap en cache et le marque comme le plus récemment utilisé, ou Nil en cas d'absence |
| Put | Stocke 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 |
| RemovePage | Supprime toutes les entrées d'une page, pour toutes les clés de zoom et de rotation |
| Clear | Libère tous les bitmaps en cache |
| Count | Nombre de bitmaps conservés |
| UsedBytes | Octets actuellement détenus |
| MaxBytes | Budget mémoire en octets, modifiable à l'exécution |