那些年写Kotlin遇到的各种坑,您需要收藏啦

 

回忆了一些坑,只是让大家少走弯路,希望能给大家带来一丝丝帮助。大胆的去拥抱Kotlin吧,我们已经躺过来了的。相信你也可以的。现在的我们是幸福的,不在孤军奋战了的!!!...



作者:刘蓬 (沪江Android开发工程师)
本文原创,转载请注明作者及出处。



写在最前

上一篇《一场Google IO 就让Kotlin上了热搜 你怎么看?》已经介绍到了的,我们项目已经使用两年多的Kotlin了的。那么任何一门新语言在没有被官方认可之前(当然经验告诉我们就算认可也难免有坑),总是会遇到各种坑爹的问题。我想这也是为什么Kotlin早在2011年就已经问世了的,而当今年IO大会,才会大伙所知,当然紧接着就是井喷似得席卷整个网络。

言归正传 那么项目中会遇到了哪些坑呢?

一:IDE Convert 懒惰带来的一场灾难 ,东西虽好可不要贪杯哦

Java一键convert为Kotlin
刚上手Kotlin的时候,Android studio 插件提供了一键 convert Java File to Kotlin File 的功能,所以有时候看到老的Java代码,可能就一键转了Kotlin,然后接着写新的需求,或者某一个Java方法需要写入到Kotlin class中的时候,IDE都会帮你做转换的工作。

But,方便,懒惰带来的是一场灾难。

由于Kotlin可选性,导致转换过程中IDE竟然直接给强制转换了的(a!!.value),那么那个数据可能是为null的,等上线后,某些场景下数据不正常时就会crash。

另一方面,楼主之前插件某个版本也发现,如果原有Java类中有 Runnable, 那么使用一键convert,IDE直接 crash 重启。

二: DexGuard 混淆 crash (一场Google IO 就让Kotlin上了热搜 你怎么看?》在第二个环节中已经提到,现在Kotlin在我们项目中表现的非常稳定,当然这是必然的,否则怎么对得起Kotlin本身的特性呢?

以上回忆了一些坑,只是让大家少走弯路,希望能给大家带来一丝丝帮助。大胆的去拥抱Kotlin吧,我们已经躺过来了的。相信你也可以的。加上现在大佬Google都出面来支持了的,不会像当初的我们要在Kotlin论坛中提问才能解决问题。现在的我们是幸福的,不在孤军奋战了的!!!


    关注 沪江技术学院


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册