TPDFlibViewerBitmapCache
Типы данных, взаимодействие с просмотрщиком, кэширование
Описание
Кэш битмапов по принципу наименее недавнего использования, ограничивающий память, которую просмотрщик тратит на отрисованные страницы
Записи индексируются номером страницы плюс квантованным масштабом, поэтому смена масштаба естественно отправляет устаревшие рендеринги на пенсию по мере заполнения бюджета; кэш владеет своими битмапами и освобождает их при вытеснении
Битмап крупнее всего бюджета все же хранится один, чтобы просмотрщик всегда мог показать текущую страницу
Класс — чистый код без зависимости от окна, что сохраняет его пригодность для тестов без интерфейса; просмотрщик раскрывает свой экземпляр через свойство Cache и меняет бюджет через SetCacheLimit
Объявление
TPDFlibViewerBitmapCache = classПараметры
| Create | Создает кэш с лимитом памяти в байтах, заданным AMaxBytes |
|---|---|
| Get | Возвращает кэшированное изображение, помечая его как недавно использованное, или Nil при промахе |
| Put | Сохраняет изображение под ключом и принимает владение; вытесняет наименее давно использовавшиеся записи, пока лимит не будет соблюден |
| RemovePage | Удаляет все записи одной страницы по всем ключам масштаба и поворота |
| Clear | Освобождает все кэшированные изображения |
| Count | Количество удерживаемых изображений |
| UsedBytes | Байты, занятые в данный момент |
| MaxBytes | Лимит памяти в байтах, доступный для записи во время выполнения |