public class LambdaTest {
public void testUseLambda() {
WeakReference w = new WeakReference((View.OnClickListener) v -> {
});
}
public void testInnerClass() {
WeakReference w = new WeakReference(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
apk中:
如果该lambda中不包含外部类任何参数,会编译成单例然后重复使用。
风险:不清楚会不会有内存不回收的预期。
可以考虑运行时,扫描一下相关类,根据类特征,排查一波。