威尼斯人,澳门威尼斯人,威尼斯人官网,威尼斯人线上娱乐官网,威尼斯人娱乐场,澳门威尼斯人网址 当前位置:首页>威尼斯人,澳门威尼斯人,威尼斯人官网,威尼斯人线上娱乐官网,威尼斯人娱乐场,澳门威尼斯人网址>正文

威尼斯人,澳门威尼斯人,威尼斯人官网,威尼斯人线上娱乐官网,威尼斯人娱乐场,澳门威尼斯人网址

发布时间:2019-03-19

原标题:Kotlin 一个好用的新功能:Parcelize

孙柱子想到答应韩琳儿的事情,赶紧说道:“小民兄弟,这个药水你能不能抓紧时间配置啊?”

宝盈娱乐手机平台

“因为我不想在轮回之中不断挣扎,我不想这只是在轮回之中发生,我想在现实当中拥有这一切。”婵幽说道。
泰坦擦了擦眼泪,“少主,虽然我不知道主人为什么没有将自己的身份告诉你。但我可以肯定,我是不会认错人的。别的能错,但武魂会错么?我问你,你的蓝银草武魂是继承于何人的?”

这时,一个保镖模样的人走到欧阳乐乐身旁,凑到她耳边,低语了几句,随后又立即离去。

179

在开发中,如果有需要用到序列化和反序列化的操作,就会用到 Serializable 或者 Parcelable,它们各有优缺点,会适用于不同的场景。

Serializable 的优点是实现简单,你只需要实现一个 Serializable 接口,并不需要任何额外的代码,但是它的序列化和反序列化,实际上是使用反射做的,所以效率会略低,并且它会在序列化的过程中,会创建很多临时变量,所以更容易触发 GC。

Parcelable 需要开发者自己去实现序列化的规则,所以会增加代码量,正是因为规则确定,所以效率会提高很多,并且不容易触发 GC。

在 Android 下,通常我会推荐使用 Parcelable ,但是它需要实现太多模板代码了。那么,有没有办法让它和 Serializable 一样,只经过简单的配置就达到我们序列化的需求呢?那就看看 Kotlin 新支持的 Parcelize 了。

一、Kotlin 的 Parcelize

Parcelize 是 Kotlin 在 1.1.4 中,新增加的功能。

如果你需要使用它,先要保证 Android Studio 对 Kotlin 的插件已经升级到 1.1.4 之上的版本,现在的最新版是 1.2.10 ,我这里刚升级了。

kotlin-plugin

在新版的 Kotlin 插件中,已经自动包含了一个自动 Parcelable 实现生成器。简单来说,只需要再主函数中,声明序列化的属性并添加一个 @Parcelize 注解,它将自动为我们创建 writeToParcel()createFromParcel()。也就是对开发者而言,只需要加一个 @Parcelize 注解,其他的和正常的类没有区别。

二、使用 Parcelize

2.1 常规使用 Parcelable

在 Kotlin 没有支持 @Parcelize 的时候,我们使用 Parcelable 的话,写的 Model 类,大概是这样的。

Parcelable-kotlin

2.2 使用 @Parcelize

而如果使用了 @Parcelize 的话,这些模板代码都是会帮我们自动生成,我们只需要增加一个 @Parcelize 注解就好了。

Parcelize-kotlin

有没有感觉到代码量的减少?

2.3 实际上生成的代码

这两个类,编译完以后,实际上是一致的。我们这边反编译之后,看看 UserParcelize() 的代码。

jadx0

@Parcelize 注解实际上就是帮我们自动生成了 writeToParcel()createFromParcel(),其实并没有什么高深的地方,但是这一点可以节约我们的代码量。

三、前期配置

@Parcelize 使用起来确实非常的方便,但是在此之前,我们还要进行一些简单的配置。

3.1 Kotlin 版本

前面提到,@Parcelize 是需要 Kotlin 1.1.4 之上的版本才支持,所以你需要保证你的 Kotlin 版本为最新的就好了。升级 Kotlin 如前文所述,直接升级 Kotlin 插件即可。升级完成之后,你可以在 Preferences 中,通过 Kotlin Compiler 查看当前支持的版本,我这里使用的是 1.2 版本。

kotlin-version

3.2 Gradle 配置

@Parcelize 是一个实验室功能,所以还需要在 Gradle 中,增加 experimental 配置。

gradle-conf

3.3 解决 Lint 错误

直接使用 @Parcelize 你将面临一个 Lint 的错误提示。当然 AS 已经为我们做出了解决它的提示。

lint

只需要增加 @SuppressLint("ParcelCreator") 就可以忽略它就可以了。

今天的 Kotlin 小技巧,对你有没有帮助?有什么想法可以在留言区讨论。

今天在承香墨影公众号的后台,回复『成长』。我会送你一些我整理的学习资料,包含:Android反编译、算法、设计模式、虚拟机、Linux、Kotlin、Python、爬虫、Web项目源码。

推荐阅读:

  • Drawable 的这些常用小技巧,提高开发效率!
  • Android 软键盘的显示和隐藏,这样操作就对了
  • Android 反编译利器,jadx 的高级技巧
  • 关于如何编写 Clean Code 的 6 个简单技巧
  • 手写你的第一个 Dalvik 版的 HelloWorld !

编辑:龙伯

发布时间:2019-03-19 00:53:27

当前文章://life/b6lz1.html

菜鸟娱乐时时彩可靠吗 众发会员登录 亚虎999娱乐官网激活 手机下载亚洲城游戏 

责任编辑:辛公

随机推荐