1、ktx加持:
JakeWharton大神偶想大家都熟悉,他就是butterknife作者,Android远古巨神!他的框架非常牛逼,代码易用性极强。在他的ktx的加持下,写Android的kotlin代码多了很多属于自己的附加方法,而且这些方法都很适用,比如Java中findviewbyid神烦,kotlin中只需要在activityfragment甚至是dialog中去直接写xml中的命名的id即可。这样代码量可以减少到4成左右!
2、协程:
rxjava之所以很优秀,是因为整体框架底层优秀,具体偶这里不再赘述,但是在kotlin中一个东西可以完败rxjava,那便是协程。什么是协程呢?可以这么理解,微线程,即在使用虚拟机极小的资源甚至是单线程条件下完成异步调度,特别基于kotlin预编译特性,能够发挥其机制的极致,这是java不可匹敌的,java没有协程一说。
3、语法精简度:
比如在写pojo类,javagetset一坨拉下来,但是在kt里面直接一个dataclassPojo(vala:String,valb:Int)直接附有所有pojo特性。
4、扩展函数:
这是kt最为精髓的地方,kt的扩展函数能让viewholdersaygoodbye。因为使用它可以重写view的findviewbyID的方法,在viewadapter中,不需要viewholder进行控制,只需要使用扩展的findviewbyid的方法即可,这样又省下很多代码。
以上只是说出偶在开发中常见遇到的kt优于java的东西,但是java打的apk包要比kt打的小,这点kt是没办法优化的。选择native开发,还是多学点东西比较好,kt的的确确在Android开发上要比java好用很多