gpt4 book ai didi

java - 来自 Activity.onStart() 的静态上下文

转载 作者:行者123 更新时间:2023-12-01 18:41:53 25 4
gpt4 key购买 nike

我正在尝试从 Context 子类之外的类 Utilities.java 生成通知。我考虑过提供一个 SingletonContext 类,并查看了 ike this 的帖子。我希望能够 return != null Context 对象,因为通知可以在任何给定时间生成,因为它是从 messageReceived() 生成的 回调。

这样做有什么缺点:

public static Context c;    

public class MainActivity extends Activity{
@Override
public void onStart()
super.onStart()
c = this.getApplicationContext();
}

//other method somewhere outside this class
public Context getContext(){
return MainActivity.c
}

我认为这与将其放在 onCreate() 上没有什么不同,但是,它保证了 Activity 启动时上下文是最新的。

最佳答案

上下文在内存中保留对此 Activity 的引用,这可能是您不希望看到的。也许使用

this.getApplicationContext();

相反。这仍然可以让您执行文件 IO 和上下文所需的大多数其他操作。没有具体提及此 Activity 。

关于java - 来自 Activity.onStart() 的静态上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19662876/

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