我有一个关于Android的kotlin中的伴随对象的问题:我可以使用伴随对象传递对象,而不是使用附加或捆绑包吗?
我已经尝试过了并且可以使用,但是我不知道这是不是一种好方法还是应该避免?
编辑: 感谢您的回答,我怀疑这是一个不好的做法,但我想确定一下!
答案 0 :(得分:1)
必须避免,与Java静态变量相同。 无法在过程娱乐中生存并引入可变状态。
答案 1 :(得分:0)
如前所述,必须避免通过Companion对象传递对象,因为它的行为方式与Java静态对象相同。
最好的选择是通过捆绑包传递对象。如果您不希望自己实现Parcelable
,可以尝试在Kotlin或某些库中使用的@Parcelize,例如Parceler。
答案 2 :(得分:0)
否,将伴随对象用作对象引用工具是一个坏习惯。请仅将商品添加到捆绑包中。如果您将软件包与片段导航一起使用,我将建议您使用新的Jetpack Navigation组件。使用safeArgs,导航和传递对象确实非常容易。