【发布时间】:2013-08-11 19:03:54
【问题描述】:
理想情况下,答案将与平台无关,但特定于平台,尤其是 Oracle JVM,也很有用。我正在处理的项目仍在运行版本 6 JVM。
特殊需要与不时“冻结”的 GUI 有关。我很清楚在 EDT 上做 GUI 工作。该程序在 Windows 上运行良好,但在迁移到 Linux 后,这些“奇怪”的 GUI 问题开始发生。实际上,这个问题已经发生在两个应用程序上,都是在从 Windows 迁移到 Linux 之后。 JVisualVM 显示超过 1000 万个 java.awt.EventQueueItem 对象。怀疑是 AWT 队列的增长速度比它在 Linux 上的服务速度要快,因此我们的想法是在应用程序上放置一个 AWT 队列长度指示器,并查看它在队列增长/收缩时显示的内容。
通过谷歌搜索找到了this,但它对队列进行了线性扫描。也许有更好的方法?
【问题讨论】:
-
探索,可以拦截事件,如图here。
-
一百万!
setCoalesce(false)? -
不。已经想到这一点并扫描了它。没有关闭合并逻辑。
标签: java swing user-interface event-handling awt