使用视图绑定而不是 findViewById 时有什么缺点吗?

Are there any cons when using view binding rather than findViewById?

自从我通过启用

发现了视图绑定的使用
   buildFeatures {
         viewBinding true
     }

在我的 gradle 文件中,我再也没有在我的代码中使用过 findviewById。我现在想知道以这种方式做事是否有缺点。 如果这是最好的方法,为什么 android studio 在创建新项目时默认不启用此选项?如果不是,我什么时候应该避免使用视图绑定?谢谢。

为项目启用它后,视图绑定将为所有布局生成绑定 class。这是我看到的唯一“缺点”,它只会生成更多代码,因此会增加项目的大小、编译时间等。虽然对于布局非常少的项目来说这不会有太大差异,但它可能会发生显着变化对于更大的项目。

这是一篇关于 ViewBinding 性能的非常有趣的读物:https://blog.stylingandroid.com/view-binding-performance/