报告可以使之为 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) {}
}
}