乐趣区

关于kotlin:减少崩溃提升体验-使用-Kotlin-打造优质应用

作者 / Florina Muntenescu, Android Developer Advocate

每一个用户都心愿从利用中取得无缝体验。解体会导致差评减少、利用卸载,甚至有损品牌认可度。与社区交换后,咱们理解到开发者采纳 Kotlin 的次要起因之一是为了更平安的代码。我将在本文中讲述 Kotlin 进步开发者代码稳定性的几种形式,也会通过 Google Play 商店统计的后果,看看应用 Kotlin 与解体数量之间是否有相关性 (剧透一下: 当然有!)。

利用品质

利用品质不仅影响着用户体验,利用的大量解体还会影响一些其余方面:

  • 利用曝光度  – Google Play 商店举荐由人工策动和算法计算共同完成,其中品质是最大的考量因素之一。
  • 品牌  – 产品体现会影响评分和评论,从而影响品牌认可度。
  • 更多的 (参加) 用户数量  – 更好的天然搜寻数据和品牌认可度能够带来更好的用户获取和留存,这也会影响参与度和升高漏斗指标。

应用 Kotlin 构建的利用呈现解体的可能性升高了 20%。

Kotlin 在其中表演了什么角色?咱们钻研了 Google Play 排名前 1,000 的利用,发现应用 Kotlin 的利用与不应用 Kotlin 的利用相比,其用户解体率低 20%。

比方 Kotlin 的空安全性就让点评的 Android 利用团队拍案叫绝,而且团队开发者还能够通过在 Java 代码中应用 @Nullable 和 @NonNull 等注解来确保 Kotlin 代码取得正确的可空性推断。整体上看,Kotlin 的空平安个性帮忙点评 Android 利用将空指针导致的解体从日均 3 个升高至 0。

防止 NullPointerException

NullPointerException (空指针异样) 是 Google Play 上解体的第一大起因。2017 年,中国电信营业厅利用团队就开始应用 Kotlin,当初他们的新我的项目大概有 50% 的代码都是 Kotlin 编写。团队胜利将空指针异样的呈现概率 升高了 80% 之多。

为了防止 NullPointerException,您须要确保正在解决的对象援用非 null,而后再调用办法或尝试拜访其成员。在 Kotlin 中,是否可为 null 是类型零碎的一部分。例如,一个变量从一开始就须要被申明为可为 null 或不可为 null。在使是否可为 null 成为类型零碎的一部分后,您不用再依赖内存和对代码库的理解,也不用依赖编译时正告 (如果用 @Nullable 注解字段 / 参数)。因为是否可为 null 被强制执行,您将失去编译时谬误,而不仅仅是正告。官网文档 介绍了解决是否可为 null 的形式。

防止常见问题

开发者会无心中引入一些问题,有些问题可能十分奥妙且难以觉察。以下是应用 Kotlin 能够防止的一些问题。

hashCode() 和 equals()

如果两个对象相等,那么它们的哈希代码应该雷同。然而,常常会产生遗记实现其中一个办法或者在类中增加新属性时遗记更新。当解决仅用于保留数据的类时,请应用 Kotlin 数据类。通过数据类,hashCode()  equals()  将由编译器生成,会在您更改类属性后自动更新。

构造相等与援用相等

两个对象是在结构上相等 (具备等同内容) 还是在援用上相等 (指针雷同)?在 Java 编程语言中,对于原语,您始终会应用 ==,因而,一个常见的谬误是为对象也调用 == (援用相等),而实际上您想查看它们是否在结构上相等 (通过调用 equals() 查看)。首先,Kotlin 没有原语类型 ,它应用的是 Int 或 String 这样的类;因而您不须要在对象和原语类型之间做这种辨别,因为每一个事物都是一个对象。其次,Kotlin 为构造相等定义了 ==,为援用相等定义了 ===, 防止在不该查看援用相等的时候进行查看

If else if else if else 有余的时候

应用枚举时,通常须要确保涵盖所有可能的状况。这就须要应用开关或 if else 链。批改枚举来增加新的值时,您必须手动查看应用枚举的每个代码段,并确保解决好新的状况。但这很容易出错。在 Kotlin 中,如果您应用 when 作为表达式,就能够 依附编译器 来解决: 如果您没有笼罩所有可能的分支,会呈现一个编译器谬误。

论断

利用稳定性对用户和品牌至关重要。立刻应用 Kotlin,升高解体率,进步用户满意度,并放弃较高的利用评分让您的用户留存和获取始终处于领先地位。

您能够进一步浏览如何 利用 Kotlin 打造更优质的利用,并通过咱们的 案例钻研 来理解开发者如何从 Kotlin 中获益。Kotlin 是 世界上最受欢迎的语言之一,欢送拜访咱们的 应用入门 页面,迈出您应用 Kotlin 的第一步!

退出移动版