用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就不多说了,很好学,郭神都写的很明白了。



