有人能解释一下Android中的上下文引用吗?

4
我的误解持续存在...
有人能为get*Context()的正确使用引用参考资料吗?我得到了关于使用getBaseContext()getApplicationContext()getContext()的矛盾建议,我的理解是使用this是方便使用get*Context()。 我想更具体地研究Dalvik意图其对象和访问方法。
我的代码审查更改了我的调用getBaseContext()getApplicationContext(),现在我看到了使用this的建议。

尝试阅读此线程https://dev59.com/9HNA5IYBdhLWcg3wSrma - Shashank_Itmaster
1个回答

1

http://android-developers.blogspot.co.uk/2009/01/avoiding-memory-leaks.html

请阅读本文。它描述了为什么我们应该使用getApplicationContext()而不是Activity的this

这是文章的摘要:

总之,为了避免与上下文相关的内存泄漏,请记住以下内容:

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

1
不要忘记它们都有一点不同。getContext()获取当前上下文,BaseContext()通常是原始父上下文。ApplicationContext保证不会被混淆,因为它与应用程序相关,而不是特定的任何活动。 - Dr.J

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接