1

我有一个在 WinXP 上运行的 Swing GUI。

有时,当我做其他事情(在网上冲浪......)然后我想回到我的程序时,GUI 会出现但完全冻结,我无法对其进行任何操作。

我必须等待(可能是 10 秒或 5 分钟),直到它再次工作。

当我从屏幕保护程序回来时,我注意到了同样的问题(所以我禁用了它)。

机器故障,RAM 和处理器级别正常。

你知道这个非常烦人的问题的根源吗?可能是重绘问题?

4

1 回答 1

2

对此可能有很多解释:

  1. 您的应用在 EDT 线程(控制界面更新的线程)中执行了一些繁重的操作
  2. 可能存在由 L&F 或组件错误导致的 UI 更新问题(极少数情况)
  3. GC 由于一些内部调用而发生并处理整个应用程序(不太可能)
  4. 应用程序窗口的一些本机或旧 JDK 问题(几乎 0% 的机会是您的情况)

通常第一个解释是有效的,在这种情况下,您应该只查看您的代码并在单独的线程中提取所有“繁重”操作。

无论如何,如果没有看到代码,我不能说更具体的内容......

于 2012-09-20T13:18:05.860 回答