Kotlin Android Extensions
另一个Kotlin团队研发的可以让开发更简单的插件是Kotlin Android Extensions
。当前仅仅包括了view的绑定。这个插件自动创建了很多的属性来让我们直接访问XML中的view。这种方式不需要你在开始使用之前明确地从布局中去找到这些views。
这些属性的名字就是来自对应view的id,所以我们取id的时候要十分小心,因为它们将会是我们类中非常重要的一部分。这些属性的类型也是来自XML中的,所以我们不需要去进行额外的类型转换。
Kotlin Android Extensions
的一个优点是它不需要在我们的代码中依赖其它额外的库。它仅仅由插件组层,需要时用于生成工作所需的代码,只需要依赖于Kotlin的标准库。
那它背后是怎么工作的?该插件会代替任何属性调用函数,比如获取到view并具有缓存功能,以免每次属性被调用都会去重新获取这个view。需要注意的是这个缓存装置只会在Activity
或者Fragment
中才有效。如果它是在一个扩展函数中增加的,这个缓存就会被跳过,因为它可以被用在Activity
中但是插件不能被修改,所以不需要再去增加一个缓存功能。