Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能澄清Android上下文引用吗?_Android_This_Android Context - Fatal编程技术网

有人能澄清Android上下文引用吗?

有人能澄清Android上下文引用吗?,android,this,android-context,Android,This,Android Context,我的误会还在继续 任何人都可以引用引用来正确使用get*Context()?关于使用getBaseContext()、getApplicationContext()和getContext()我得到了相互矛盾的建议,我的理解是使用这个可以方便地获取*Context()。我想更具体地研究Dalvik的目标和访问方法 我的代码审查将我对getBaseContext()的调用更改为getApplicationContext(),现在我看到了使用此函数的建议。 阅读这篇文章。它描述了为什么我们应该使用ge

我的误会还在继续

任何人都可以引用引用来正确使用
get*Context()
?关于使用
getBaseContext()
getApplicationContext()
getContext()
我得到了相互矛盾的建议,我的理解是使用
这个
可以方便地
获取*Context()
。我想更具体地研究Dalvik的目标和访问方法

我的代码审查将我对
getBaseContext()
的调用更改为
getApplicationContext()
,现在我看到了使用此函数的建议。

阅读这篇文章。它描述了为什么我们应该使用
getApplicationContext()
而不是活动的
this

这是文章的总结:

总之,要避免与上下文相关的内存泄漏,请记住以下几点:

  • 不要保留对上下文活动的长期引用(对活动的引用应与活动本身具有相同的生命周期)
  • 尝试使用上下文应用程序而不是上下文活动

试着阅读这篇可能重复的文章,别忘了它们都有点不同。getContext()获取当前上下文,BaseContext()通常是原始父上下文。ApplicationContext保证不会被篡改,因为它与应用程序关联,而不是与任何特定活动关联。