我有一个正在 Swing 中构建的应用程序。它有一个可滚动和可缩放的图表组件,我可以平移和放大。整个过程都很流畅,只是有时 UI 会暂停大约 750 毫秒,我不知道为什么。这并不总是发生 - 但有时应用程序中会发生一些事情,它每 6-8 秒开始像这样暂停一次。
似乎很清楚,在 EDT 上放置了一些需要 750 毫秒左右才能运行的事件,这不应该发生。
我如何像这样专门分析 EDT?我真正想做的是每次事件在 EDT 上运行时都会输出到日志或 System.out 以及事件所花费的总时间。有没有办法做到这一点?
或者是否有一些工具可以为我执行此操作并给我记录在 EDT 上运行的所有内容以及需要多长时间?
我想通过这个日志,查看所有需要很长时间的内容,然后找到问题所在。