片段中的Android getActivity(),getApplicationContext()

时间:2019-06-14 14:08:58

标签: java android android-fragments

片段中getActivity()getApplicationContext()的正确用法是什么。

在获取碎片意图时,您使用getActivity(),在某些地方使用getAppliationContext();

getActivity()getApplicationContext()

3 个答案:

答案 0 :(得分:3)

您似乎需要同时参考一些文档,但是可以从下面的链接开始。

getActivity()返回与片段关联的活动。

http://developer.android.com/reference/android/app/Fragment.html#getActivity()

getApplicationContext()返回全局应用程序上下文。

http://developer.android.com/reference/android/content/Context.html#getApplicationContext()

应将应用程序上下文用于接收器之类的功能,应在销毁应用程序时销毁这些功能,而不是在活动被销毁时销毁这些功能。

答案 1 :(得分:2)

getActivity()

此方法提供活动的上下文。您可以使用它,就像yourActivity.this。 getActivity()方法通常用于片段中,以获取插入或夸大它们的活动的上下文。

getApplicationContext()

返回整个应用程序的上下文(所有Activity在其中运行的进程)。如果您需要一个与整个应用程序的生命周期相关的上下文,而不仅仅是当前的Activity,请使用此上下文代替当前的Activity上下文。

更多Info

答案 2 :(得分:0)

getApplicationContext()用于需要超出片段范围的内容或说activity的情况。

在创建单例对象或初始化库时,我们始终坚持使用应用程序上下文。如果我们在此处尝试使用get活动,可能会导致内存泄漏。

进入getActivity(),它可以作为上下文使用,但它坚持您片段的生命周期。 使用此方法作为上下文时,请始终确保检查是否为null。

您可以使用以下链接获得清晰的主意:https://blog.mindorks.com/understanding-context-in-android-application-330913e32514