Android 版 Qt 环境变量
启用或禁用变通方案
Qt for Android 使用一些环境变量来启用/禁用某些变通方案:
常用变量
| 变量 | 描述 |
|---|---|
| QT_ANDROID_NO_EXIT_CALL | 在某些情况下,Android 应用在调用 `exit() ` 时可能无法安全地清理所有线程,从而导致应用崩溃。这是因为存在正在运行的 C++ 线程,若在未等待这些线程结束的情况下将其销毁,将导致应用终止。由于无法确定这些线程是否正在运行,因此无法等待它们结束。 此标志会避免调用exit() ,转而让 Android 系统自行处理此问题,但代价是不会尝试运行全局析构函数。 |
| QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT | 允许隐藏预测文本建议,主要针对密码输入框。某些设备无法正确处理此功能。有关详细信息,请参阅“预测文本”。 |
| QT_ANDROID_ENABLE_RIGHT_MOUSE_FROM_LONG_PRESS | 将长按操作解释为鼠标右键点击事件。 |
| QT_ANDROID_DISABLE_ACCESSIBILITY | 禁用辅助功能。这将阻止辅助功能事件的处理。 |
| QT_ANDROID_NO_FULLSCREEN_KEYBOARD | 不允许 Android 显示全屏输入法。 注意:此变量 仅适用于 Qt 6.8.8、6.11.1、6.12 或更高版本。对于 Qt 6.12 及更高版本,建议改用Qt::ImhNoFullscreen 。 |
较少使用的变量
| 变量 | 描述 |
|---|---|
| QT_ANDROID_FONT_LOCATION | 设置系统字体的自定义路径。 |
| QT_ANDROID_MAX_ASSETS_CACHE_SIZE | “assets”文件夹下资源的缓存大小。 |
| QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND | 参见“文本字形缓存” |
| QT_ANDROID_RASTER_IMAGE_DEPTH | |
| QT_ANDROID_MINIMUM_MOUSE_DOUBLE_CLICK_DISTANCE | |
| QT_ANDROID_BACKGROUND_ACTIONS_QUEUE_SIZE | 当 Android 应用处于暂停或非活动状态时,它可能会继续从 BroadcastReceiver 或 Service 等组件接收 UI 更新。这些更新会被排队等待,直到应用恢复运行。该队列可能会无限增长,导致应用再次活跃时处理这些更新时产生额外的内存占用和延迟。 该环境变量通过为队列设置大小限制来解决此问题。一旦达到指定限制,系统将移除最旧的条目以容纳最新条目,从而防止队列无限增长。默认情况下,队列大小无限制,且该环境变量未设置。此外,若将其设置为任何负数,队列仍保持无限制状态。 例如,QT_ANDROID_BACKGROUND_ACTIONS_QUEUE_SIZE=100 将队列限制为 100 个操作。 |
注意:虽然 相关,但这些与 Qt For Android 使用的 CMake 命令或变量并不相同,请参阅Qt for Android CMake 配置
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.