用AS比较早的,并且接触kotlin比较久的小伙伴应该知道 kotlin-android-extensions 插件。当然了也许你不会太在意它,毕竟在AS 3.6 之前它是自动加载的,只管用就好了,非常非常方便。
最近新血来潮更新了AS大版本终于上4+了,说实话雪狐和小蜜蜂都不好看,还是喜欢3.5的流线条味道(好吧我就是懒)。更新完第一件事就是拿一个老工程体验,我想到了kotlin的工程,由于工作的关系都是Java,冷不丁想起以前玩的kotlin工程果断打开了。
结果可想而知,这么大的跃迁必然是一堆报错(3.5.x坚实守护者,笑了),陆陆续续解决到最后发现了R.layout.X引用报错的问题,问题是不难,百度一查就有解释了,但上面的结论很心酸:对不起,kotlin-android-extensions废弃了。
说实话有点难受,感叹kotlin或者说Android更新太快了,我曾经无比喜欢这个插件带来的优越感,毕竟传统Java对于xml控件的引用手法大家都知道,体验天壤之别。
所谓东西不会平白更替,自然有其道理,也许是因为插件的使用方式导致系统需要额外花费内存缓存,谁不想直接引用到xml呢?诚然,新的ViewBinding对于节省内存有了精进,但是如此快速的技术更替确实有点让我站不稳了。
ViewBinding其实从一个纯粹的使用者的角度看,体验是倒退了的,我们要创建ViewBinding对象,引用控件也要挂着前缀,Fragment中使用那体验最差了。
本篇是纪念篇,只是怀旧了一下,攻城狮总得向前看,技术更新总是要默默承受,“学无止境”在互联网领域真的是完美诠释,我不知道对攻城狮们是不是好事。
apply plugin: 'kotlin-android-extensions'
上面是这个插件的引用,想怀旧了可以重新引用该插件,ViewBinding就不多说了,很好学,郭神写的太明白了。