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

kfi*_*r88 6 android gradle android-studio android-viewbinding

因为我通过启用发现了视图绑定的使用

   buildFeatures {
         viewBinding true
     }
Run Code Online (Sandbox Code Playgroud)

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

Pra*_* P. 6

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

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