property CacheBudgetBytes: Int64; // default 256 MiB
La modification de la valeur s’applique immédiatement à tous les caches participants détenus par cette instance TPdf
Définir la valeur à zéro désactive toute nouvelle rétention et évince chaque entrée inactive
Les valeurs négatives lèvent EPdfError
Les scènes de page analysées actives sont épinglées et peuvent maintenir l’utilisation mesurée temporairement au-dessus d’un budget réduit jusqu’à ce que le rendu les libère
property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf
Renvoie le gouverneur partagé pour les requêtes d’utilisation par type et une coordination facultative avec les caches détenus par l’application
Ne libérez pas l’objet renvoyé et ne le conservez pas après la destruction de l’instance TPdf propriétaire
Les appelants peuvent enregistrer des entrées pckApplication via un participant qui respecte le contrat de rappel et de durée de vie de FPdfCache
property CacheGovernorStatistics: TPdfCacheGovernorStatistics;
Renvoie les octets mesurés actuels et crête, les octets épinglés, le nombre d’entrées, l’activité de réservation et d’accès, les évictions et les réservations rejetées
L’instantané ne couvre que les entrées de cache de bibliothèque conservées
Les copies de bitmaps possédées par l’appelant et les copies d’instantanés renvoyées restent hors budget, tandis que les lectures de flux décodés restent éphémères et conservent leurs limites strictes par opération existantes
Les caches de bitmaps utilisent la largeur fois la hauteur fois quatre octets
Les caches d’instantanés gérés incluent les tableaux de records, les chaînes, les tampons d’octets, les segments de chemin, les données de rognage, les marques, les métadonnées d’image et les valeurs imbriquées
Les scènes de page PDFium analysées sont des handles natifs opaques et supportent une charge comptable de 8 MiB par scène conservée plutôt qu’une revendication d’utilisation exacte du tas natif
var
Stats: TPdfCacheGovernorStatistics;
begin
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;