我们应该在Kotlin绑定android视图吗



在Java编程时,我们需要使用findViewById函数来访问视图项,现在在Kotlin中,我们只使用id来访问视图项目,就像我们有一个id为"的textView一样;myTxt";我们只使用myTxt.text = "Some Text"

另一方面,在Java中使用findViewById函数会导致性能降低,因此我们建议使用绑定视图来提高性能

现在的问题是:

既然我们在kotlin中不使用findViewById,我们应该使用绑定吗?否则这不会导致任何性能效率?

获取视图引用有三种常见方法:

  • findViewById
  • 合成视图属性(仅Kotlin(
  • 视图绑定

我认为您混淆了视图绑定合成视图属性

当你在科特林说我们";简单地使用CCD_ 6";,称为合成视图属性。创建该功能是为了方便findViewById,而不是为了性能。

谷歌在某些时候删除了文档中对合成视图属性的引用,因为它只是Kotlin。它们不是空安全的或类型安全的也不好。Kotlin代码中通常要求空安全性。所有视图的所有合成属性都可以从任何地方获得,无论它们是否在当前布局中。

后来,他们添加了视图绑定作为Jetpack功能。这也不是为了性能,而是为了方便。它比findViewById更可取,因为它是空安全的、类型安全的,并为您所膨胀的确切视图提供属性,或多或少都没有。视图绑定不限于Kotlin。您可以在Java中使用它。

默认情况下,在gradle模块中启用Kotlin中的视图绑定。要手动启用模块中的视图绑定,请在模块级build.gradle文件中将viewBinding build选项设置为true,如以下示例所示:

android {
buildFeatures {
viewBinding true
}
}

因此,如果使用Kotlin,则应该使用视图绑定,而不是findViewById。这更容易,代码行的数量也减少了。而且它不会影响性能。

最新更新