Kotlin Android Extensions

另一个Kotlin团队研发的可以让开发更简单的插件是Kotlin Android Extensions。当前仅仅包括了view的绑定。这个插件自动创建了很多的属性来让我们直接访问XML中的view。这种方式不需要你在开始使用之前明确地从布局中去找到这些views。

这些属性的名字就是来自对应view的id,所以我们取id的时候要十分小心,因为它们将会是我们类中非常重要的一部分。这些属性的类型也是来自XML中的,所以我们不需要去进行额外的类型转换。

Kotlin Android Extensions的一个优点是它不需要在我们的代码中依赖其它额外的库。它仅仅由插件组层,需要时用于生成工作所需的代码,只需要依赖于Kotlin的标准库。

那它背后是怎么工作的?该插件会代替任何属性调用函数,比如获取到view并具有缓存功能,以免每次属性被调用都会去重新获取这个view。需要注意的是这个缓存装置只会在Activity或者Fragment中才有效。如果它是在一个扩展函数中增加的,这个缓存就会被跳过,因为它可以被用在Activity中但是插件不能被修改,所以不需要再去增加一个缓存功能。