如果 Qt 5 事件循环暂停,则全局事件排队
Queueing of global event if Qt 5 event loop is paused
在某些移动系统上,当应用程序进入后台时,Qt 主循环会暂停(它也可能会终止,但这不是这个问题的一部分)。
如果后台服务、传感器等在不活动时发送到事件队列会怎样?发布事件如下所示:
QCoreApplication::postEvent(QCoreApplication::instance(), event);
事件是否缓存,缓存的事件数量是否有限(内存除外)?
此致,
当主线程暂停时,事件应该正确排队。来自 postEvent
的 source code :
Adds the event \a event, with the object \a receiver as the
receiver of the event, to an event queue and returns immediately.
When control returns to the main event loop, all events that are
stored in the queue will be sent using the notify() function.
在某些移动系统上,当应用程序进入后台时,Qt 主循环会暂停(它也可能会终止,但这不是这个问题的一部分)。
如果后台服务、传感器等在不活动时发送到事件队列会怎样?发布事件如下所示:
QCoreApplication::postEvent(QCoreApplication::instance(), event);
事件是否缓存,缓存的事件数量是否有限(内存除外)?
此致,
当主线程暂停时,事件应该正确排队。来自 postEvent
的 source code :
Adds the event \a event, with the object \a receiver as the receiver of the event, to an event queue and returns immediately. When control returns to the main event loop, all events that are stored in the queue will be sent using the notify() function.