【发布时间】:2020-01-21 14:45:59
【问题描述】:
我有以下类定义:
class SomeObject {
companion object {
internal val instance = SomeObject()
}
}
这个类是自我维持的,只是在听事件。 我的问题是 proguard 删除了“实例”字段。
我在我的 proguard 文件中写什么来保留实例字段(它可以被混淆,但我想防止该字段被视为“未使用的代码”)
【问题讨论】:
-
为什么不使用
object而不是class?在字节码中,它转换为与您编写的内容类似的内容...即您使用object SomeObject { }... 而不是您显示的代码 -
@Roland 可能需要
SomeObject的不同实例(在向其添加更多属性之后),因此不能使用作为单例的object。 -
var 是写 SO 的错字;)
-
好的...那么我的cmets关于罪魁祸首是无关紧要的...现在我只有这个问题是否应该是单身......或者拥有这个内部@的目的是什么987654327@?