我可以通过同伴对象传递对象吗?

时间:2019-06-20 08:44:58

标签: android kotlin companion-object

我有一个关于Android的kotlin中的伴随对象的问题:我可以使用伴随对象传递对象,而不是使用附加或捆绑包吗?

我已经尝试过了并且可以使用,但是我不知道这是不是一种好方法还是应该避免?

编辑: 感谢您的回答,我怀疑这是一个不好的做法,但我想确定一下!

3 个答案:

答案 0 :(得分:1)

必须避免,与Java静态变量相同。 无法在过程娱乐中生存并引入可变状态。

答案 1 :(得分:0)

如前所述,必须避免通过Companion对象传递对象,因为它的行为方式与Java静态对象相同。

最好的选择是通过捆绑包传递对象。如果您不希望自己实现Parcelable,可以尝试在Kotlin或某些库中使用的@Parcelize,例如Parceler

答案 2 :(得分:0)

否,将伴随对象用作对象引用工具是一个坏习惯。请仅将商品添加到捆绑包中。如果您将软件包与片段导航一起使用,我将建议您使用新的Jetpack Navigation组件。使用safeArgs,导航和传递对象确实非常容易。