TTileKey.Create 把 DocumentRevision、PageNumber、Zoom、Rotation、RenderOptions、TileLeft、TileTop、TileWidth 和 TileHeight 组合成稳定的渲染瓦片键
Equals 比较每一个键字段,并容忍亚微级的缩放差异
| Method | Description |
|---|---|
Create(Capacity: Integer = 64) | 创建一个有界缓存,容量至少为一个瓦片 |
Create(Capacity: Integer; Governor: TPdfCacheGovernor) | 创建一个还参与共享字节预算竞争的缓存 |
Destroy | 清空缓存并释放其拥有的每个位图 |
Get(const Key: TTileKey): TBitmap | 在不转移所有权的情况下返回缓存的位图,并更新本地与共享的近期使用状态 |
Put(const Key: TTileKey; Bitmap: TBitmap) | 把位图所有权转移给缓存,且仅在条目容量和共享字节预算都允许时才保留它 |
InvalidatePage(PageNumber: Integer) | 移除一个页面的所有瓦片 |
InvalidateRevision(DocumentRevision: Int64) | 只保留属于所提供文档修订的瓦片 |
Clear | 释放所有缓存的位图和调节器令牌 |
| Property | Type | Description |
|---|---|---|
Capacity | Integer | 最大瓦片数量 |
Count | Integer | 当前瓦片数量 |
StoredBytes | Int64 | 当前位图占用,按宽 × 高 × 4 字节计算 |
CacheGovernor | TPdfCacheGovernor | 可选的共享调节器,赋值时会先清空现有条目 |
缓存从不拥有 CacheGovernor
调节器的寿命必须长于缓存,否则必须在释放调节器之前把该属性设置为 nil