TPDFlibViewerBitmapCache
데이터 타입, 뷰어 상호 작용, 캐싱
설명
뷰어가 렌더링된 페이지에 쓰는 메모리를 한정하는 LRU 비트맵 캐시입니다
항목은 페이지 번호와 양자화된 확대/축소를 키로 하므로, 확대/축소를 바꾸면 예산이 채워짐에 따라 낡은 렌더링이 자연히 은퇴합니다. 캐시는 자신의 비트맵을 소유하며 축출 시 해제합니다
예산 전체보다 큰 비트맵도 단독으로 저장되어 뷰어가 언제든 현재 페이지를 보여줄 수 있습니다
이 클래스는 창 의존성이 없는 순수 코드라 헤드리스로 테스트할 수 있습니다. 뷰어는 그 인스턴스를 Cache 속성으로 노출하고 예산은 SetCacheLimit으로 조정합니다
선언
TPDFlibViewerBitmapCache = class매개변수
| Create | AMaxBytes로 주어진 바이트 예산으로 캐시를 생성 |
|---|---|
| Get | 캐시된 비트맵을 반환하고 최근 사용 표시를 갱신하며, 없으면 Nil |
| Put | 키 아래에 비트맵을 저장하고 소유권을 가져옵니다. 예산 안에 들어올 때까지 가장 오래 사용되지 않은 항목을 내보냅니다 |
| RemovePage | 모든 확대/축소 및 회전 키에 걸쳐 한 페이지의 항목을 모두 제거합니다 |
| Clear | 캐시된 모든 비트맵을 해제합니다 |
| Count | 유지 중인 비트맵 수 |
| UsedBytes | 현재 점유 중인 바이트 수 |
| MaxBytes | 바이트 단위 메모리 예산, 런타임에 쓰기 가능 |