JProfiler 不显示所有调用

JProfiler does not show all calls

我正在尝试分析 gif 的写作,但自拍时间不合算。所以我不知道发生了什么。

编辑:添加有问题的格式化方法

private final ImageWriter gifWriter;

   void writeToSequence(RenderedImage img) throws IOException
   {
      gifWriter.writeToSequence(
            new IIOImage(
                  img,
                  null,
                  imageMetaData),
            imageWriteParam);
   }

编辑 2:使用 javax.imageio

进行分析

self time does not add up

调用树显示总次数。自身时间是总时间与所有子节点时间之和的差值。您可以在视图设置中打开额外的自拍时间显示。

在您的情况下,大部分时间直接花在 GifSequenceWriter.writeToSequence 方法上。

与本例相关的另一个主题是 JProfiler 具有调用树过滤器的概念。如果一个 class 没有被分析并且仍然显示在树中(因为它被一个被分析的 class 直接调用或者因为它在树的顶层),它可以有很大的自我时间由于调用其他未分析的方法。您的 GifSequenceWriter class 不是这种情况,但它下面的 GifImageWriter class 是这种情况。您可以通过方法图标左上角的红色角识别未分析的 classes。