When your application loads a QML or JavaScript file for the first time, the QML engine compiles the file into a byte code representation on the fly and runs it. The compiling process can be time consuming, and subsequent loads of the same document yield the same result. To optimize this step, the QML engine can cache the result. It stores the byte code in a cache file and later loads the cache file instead of re-compiling when the same file is requested again. Usually the files are stored in a subdirectory
qmlcache
of the system's cache directory, as denoted by
QStandardPaths::CacheLocation
. Checks are in place to make sure that the cache files are only loaded if all of the following conditions are met:
The disk caching behavior can be fine tuned using the following environment variables:
环境变量 | 描述 |
---|---|
QML_DISABLE_DISK_CACHE
|
Disables the disk cache and forces re-compilation from source for all QML and JavaScript files. |
QML_FORCE_DISK_CACHE
|
Enables the disk cache even when debugging QML. You cannot use the JavaScript debugger this way. It may fail to stop at breakpoints, for example. You can still use the QML inspector to explore the object hierarchy, though.
QML_FORCE_DISK_CACHE
overrides
QML_DISABLE_DISK_CACHE
.
|
QML_DISK_CACHE_PATH
|
Specifies a custom location where the cache files shall be stored instead of using the default location. |
You can also specify
CONFIG += qtquickcompiler
在您的
.pro
file to perform the compilation ahead of time and integrate the resulting byte code directly into your executable. For more information, see
Qt Quick 编译器
.