| Type | Description |
|---|---|
EPdfCacheError | 回報無效的額度、項目大小與參與者 |
TPdfCacheKind | 分類頁面場景(pckPageScene)、圖磚(pckTile)、縮圖(pckThumbnail)、系統字型(pckSystemFont)、結構資料(pckStructure)、文字快照(pckTextSnapshot)、頁面物件快照(pckPageObjectSnapshot)、已解碼串流(pckDecodedStream)與應用程式項目(pckApplication) |
TPdfCacheGovernorStatistics | 回報額度、目前與峰值保留位元組、釘選位元組、項目數、預約、觸碰、驅逐與拒絕;欄位包括 MaxBytes、StoredBytes、PeakStoredBytes、PinnedBytes、EntryCount、ReservationCount、TouchCount、EvictionCount、RejectionCount |
TPdfCacheParticipant | 在治理器將權杖自帳目移除後,接收同步的 EvictCacheEntry 回呼 |
TPdfCacheGovernorEntry | 為編譯器相容性而公開的內部帳目記錄;欄位包括 Token、Participant、Kind、StoredBytes、LastUsed 與 Pinned |
TPdfCacheGovernor | 執行緒安全的權杖註冊表,在所有參與者與快取種類之間維護單一全域最近最少使用順序 |
| Member | Description |
|---|---|
Create(AMaxBytes: Int64) | 以非負位元組額度建立治理器 |
Destroy | 釋放同步狀態之前清除已註冊的項目 |
Reserve | 保留位元組並傳回正整數權杖;可能時驅逐全域 LRU 項目,若項目無法容納則傳回零 |
Touch | 將現有權杖移到最新位置 |
Release | 移除權杖的帳目,而不叫用其驅逐回呼 |
SetPinned | 保護或取消保護使用中的項目,並在取消釘選後進行裁剪 |
Clear | 移除所有權杖,並要求每個參與者釋放其保留的項目 |
Contains | 測試權杖是否仍在註冊中 |
UsageForKind | 傳回單一 TPdfCacheKind 的保留位元組數 |
EntryCountForKind | 傳回單一 TPdfCacheKind 的已註冊項目數 |
Statistics | 傳回受鎖定保護的遙測快照 |
MaxBytes | 讀取或變更總額度,並在調降後立即裁剪未釘選的項目 |
治理器從不擁有參與者或其保留的資料
每個參與者的存續時間都必須長於其所有已註冊權杖,且不得從 EvictCacheEntry 拋出例外
回呼同步執行且不持有治理器鎖定,因此參與者可以安全地為相關權杖呼叫 Release
在最後一位使用者取消釘選之前,已釘選項目可能使 StoredBytes 暫時高於調降後的 MaxBytes 值
FPDF_RENDER_LIMITEDIMAGECACHE 仍可透過 reLimitCache 使用,套用 PDFium 固定的原生每頁影像快取限制
PDFium 未公開任何 ABI,可用於設定或查詢處理序級的快取位元組額度
因此治理器量測 PDFium Delphi Component 擁有的保留物件,並對不透明的已剖析頁面場景使用明確的估算值