这不是我的代码。我刚到这个网站,正在做代码审查。
他们有一个类是 Dialog 的扩展。它被定义为单例。
在第一次调用时,上下文被传递给 getInstance 方法。它实例化将接收到的上下文传递给构造函数中的“超级”的类。然后它保存它 - 与任何单例相同。
然后显示对话框。用户交互后,它会启动一个新活动并通过“closeDialog”关闭对话框。
但是,它仍然存在,因为实例的静态持有者仍然存在。这是否会保留创建它的活动(并在创建实例时通过“getInstance”调用传递到“super()”)?
它们使实例保持活动状态,因为它们随后将其用于来自其他地方的调用,并且具有需要传递的值。
我知道这段代码很臭,但我想确保它确实泄漏内存(第一个活动),然后我让他们重新编写它(或自己重新编写它——这更有可能)。