gpt4 book ai didi

java - Android 中具有上下文的单例

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:01:11 25 4
gpt4 key购买 nike

我想创建一个可以从我的应用程序中的所有点调用的单例类。问题是此类需要为其操作提供上下文。

我不想在每个 Activity 中都重新创建单例,因为那样它就失去了意义,所以我考虑在我的 MainActivity 中创建它,使用一个 init 方法,我将上下文作为参数传递。从那时起,我的 Singleton 将可用,但我认为这是糟糕的设计,因为那样我的 MainActivity 引用将始终被保留,因此我可能会遇到内存泄漏。

我在这儿吗?

最佳答案

由于内存泄漏,您没有将主要 Activity 上下文保存到单例中是对的。如果您需要在单例中使用常量上下文,请使用 getApplicationContext()。这可以安全地保存。请注意,此上下文不适用于大多数与图形用户界面相关的功能。在极少数情况下,您需要单例内部的 Activity 级别上下文,将调用 Activity 上下文传递给单例的方法而不保存

关于java - Android 中具有上下文的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16626135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com