报告可以使之为 static 的任何内部类。

static 内部类不保留对其封闭实例的隐式引用。 这可以防止常见的内存泄漏,减少类的每个实例使用的内存。

示例:


  public class Outer {
    class Inner { // 非 static
      public void foo() {
        bar("x");
      }

      private void bar(String string) {}
    }
  }

在应用快速修复后:


  public class Outer {
    static class Inner {
      public void foo() {
        bar("x");
      }

      private void bar(String string) {}
    }
  }