我犯了为Android编写Scala程序并依赖Scala Objects的错误。那些单身人士在编写游戏时非常方便,但现在游戏结束时,由主Activity
加载的类实例是GC:d应该是这样,但Scala对象似乎留在内存中。因此,当我重新开始游戏时,对象处于未知状态,而不是像第一次开始游戏时那样初始化。
那么“摧毁”这些物体的正确方法是什么?换句话说,如何在Android Activity
结束时确保运行某些销毁代码?
答案 0 :(得分:3)
你做不到。您必须将它们转换为类并在主Game
对象中实例化每个实例,或者无论它调用什么。
对象在应用程序的整个持续时间内都是单例(直到JVM关闭)。这就是为什么他们通常不包含任何可变的东西。