TPDFlibViewerBitmapCache

Типы данных, взаимодействие с просмотрщиком, кэширование

Описание

Кэш битмапов по принципу наименее недавнего использования, ограничивающий память, которую просмотрщик тратит на отрисованные страницы

Записи индексируются номером страницы плюс квантованным масштабом, поэтому смена масштаба естественно отправляет устаревшие рендеринги на пенсию по мере заполнения бюджета; кэш владеет своими битмапами и освобождает их при вытеснении

Битмап крупнее всего бюджета все же хранится один, чтобы просмотрщик всегда мог показать текущую страницу

Класс — чистый код без зависимости от окна, что сохраняет его пригодность для тестов без интерфейса; просмотрщик раскрывает свой экземпляр через свойство Cache и меняет бюджет через SetCacheLimit

Объявление

TPDFlibViewerBitmapCache = class

Параметры

CreateСоздает кэш с лимитом памяти в байтах, заданным AMaxBytes
GetВозвращает кэшированное изображение, помечая его как недавно использованное, или Nil при промахе
PutСохраняет изображение под ключом и принимает владение; вытесняет наименее давно использовавшиеся записи, пока лимит не будет соблюден
RemovePageУдаляет все записи одной страницы по всем ключам масштаба и поворота
ClearОсвобождает все кэшированные изображения
CountКоличество удерживаемых изображений
UsedBytesБайты, занятые в данный момент
MaxBytesЛимит памяти в байтах, доступный для записи во время выполнения

См. также

Cache, SetCacheLimit, IsPageCached, TPDFlibViewer