静态内部类不保留对其封闭实例的隐式引用。 这可以防止常见的内存泄漏,并减少每个类实例使用的内存。
快速修复会将匿名类提取到命名的 static 内部类中。
示例:
void sample(){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
}
});
}
在应用快速修复后:
void sample(){
Thread thread = new Thread(new Task());
}
private static class Task implements Runnable {
@Override
public void run() {
}
}