Кэш диска QML
При первом запуске приложения для загрузки файла QML или JavaScript, движок QML компилирует файл в представление байткода в реальном времени и запускает его. Процесс компиляции может быть длительным, и последующие загрузки того же документа дают тот же результат. Для оптимизации этого этапа движок QML может кэшировать результат. Он сохраняет байткод в файле кэша и в дальнейшем загружает этот файл вместо повторной компиляции при повторном запросе того же файла. Обычно файлы хранятся в подкаталоге qmlcache каталога кэша системы, как указано в QStandardPaths::CacheLocation. Проводятся проверки, чтобы файлы кэша загружались только при выполнении всех следующих условий:
- Версия Qt не изменилась
- Исходный код в исходном файле не изменился
- Отладчик QML не запущен
Поведение кэширования на диске можно настроить с помощью следующих переменных среды:
| Переменная среды | Описание |
|---|---|
QML_DISABLE_DISK_CACHE |
Отключает кэш на диске и принудительно выполняет повторную компиляцию из исходного кода для всех файлов QML и JavaScript. |
QML_FORCE_DISK_CACHE |
Включает кэш на диске даже при отладке QML. В этом случае вы не можете использовать отладчик JavaScript. Например, он может не останавливаться на точках останова. Тем не менее, вы по-прежнему можете использовать инспектор QML для изучения иерархии объектов. QML_FORCE_DISK_CACHE переопределяет QML_DISABLE_DISK_CACHE. |
QML_DISK_CACHE_PATH |
Указывает пользовательский путь, где будут храниться файлы кэша вместо использования стандартного пути. |
Вы также можете указать CONFIG += qtquickcompiler в вашем файле .pro, чтобы выполнить компиляцию заранее и интегрировать полученный байткод непосредственно в ваш исполняемый файл. Дополнительную информацию см. в Qt Quick Compiler.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmldiskcache.html