【问题标题】:Can someone clarify Android context references?有人可以澄清Android上下文引用吗?
【发布时间】:2015-06-12 21:22:53
【问题描述】:

我的误会还在继续……

谁能引用正确使用get*Context() 的参考资料?我收到关于使用getBaseContext()getApplicationContext()getContext() 的相互矛盾的建议,我的理解是使用thisget*Context() 来说是一种方便。我想更具体地研究一下 Dalvik 打算使用它的对象和访问方法。

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

【问题讨论】:

标签: android this android-context


【解决方案1】:

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

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

这是文章的摘要:

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

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

【讨论】:

  • 别忘了它们都有点不同。 getContext() 获取当前上下文,BaseContext() 通常是原始父上下文。 ApplicationContext 保证不会被混淆,因为它与应用程序相关联,而不是与任何特定活动相关联。
猜你喜欢
  • 2014-05-21
  • 1970-01-01
  • 2017-01-28
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
相关资源
最近更新 更多