片段中getActivity()
和getApplicationContext()
的正确用法是什么。
在获取碎片意图时,您使用getActivity()
,在某些地方使用getAppliationContext();
getActivity()
和getApplicationContext()
答案 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