dte*_*ech 12 configuration qt caching qml qt5.8
Qt 5.8应该是提前使用qtquick编译器的可选用法,而是它带有一个jit-jit编译器,默认情况下启用并在磁盘上缓存已编译的QML文件以提高启动性能并减少内存使用量.
然而,该功能带来了严重的 错误,这些错误大大减少,或者在我的情况下甚至完全否定了它的好处,因为我没有启动时间的问题,并且测试没有显示任何内存使用改进.
所以我想做的是在我的项目中选择退出该功能,但我似乎没有找到如何做到这一点.回到Qt 5.7.1不是一个选择,因为我的项目依赖于5.8引入的其他新功能.
感谢peppe告知我们环境变量,但qputenv()仅将a QByteArray作为值参数,因此1将无法使用。
起作用的两个选项:
qputenv("QML_DISABLE_DISK_CACHE", "1"); // or
qputenv("QML_DISABLE_DISK_CACHE", "true");
Run Code Online (Sandbox Code Playgroud)
这样可以成功禁用缓存,并防止相关的错误出现。