0

我一直在分析我的摇摆应用程序,它是可视的并且进行了大量的重绘:通过调用重绘并在paintComponent() 中进行绘制。

我正在使用 VisualVM 并使用 Sampler 来查看哪些方法使用了大量的 cpu。

我的很多绘画方法都在列表的顶部,这并不奇怪。

但是可以看到一个奇怪的效果,每次我启动我的应用程序并启动一个 cpu 示例会话时,不同的绘制方法都位于热点的顶部。

我觉得这很奇怪,因为我在我的应用程序中使用了完全相同的数据集。

是否有可能某些东西(可能是摆动油漆模型)弄乱了 visualvm 结果?

4

1 回答 1

1

您必须记住,Swing 是一个事件驱动的系统。这些事件不太可能以完全相同的顺序发生。

此外,重绘管理器受操作系统支配。操作系统可能会根据自己的要求向重绘管理器发出更新其 UI 部分的请求,同样,这些不太可能每次都以完全相同的方式发生。

于 2012-10-30T21:53:39.703 回答