android - 有人可以澄清 Android 上下文引用吗?

标签 android this android-context

我的误会还在继续……

任何人都可以引用正确使用 get*Context() 的引用资料吗?我得到关于使用 getBaseContext()getApplicationContext()getContext() 的相互矛盾的建议,我的理解是使用 this 方便get*Context()。我想更具体地研究 Dalvik 的对象和访问方法的 Intent 。

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

最佳答案

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

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

这是文章的摘要:

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

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

关于android - 有人可以澄清 Android 上下文引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853082/

相关文章:

android - 当我将水平 recyclerview 滚动到垂直 recyclerview 时,Nestedscrollview 跳起来

Android - mediarecorder 的最大 maxfilesize 是多少?

android - 如何从 View 中获取上下文?

android - 您使用 NativeScript 的体验如何?

android - 在 flutter 应用程序中添加日期选择器的正确方法是什么?

c++ - 如何从 C++ 内部类引用封闭实例?

c++ - 如果(!这){ 返回假; }

java - 在静态方法中使用 this.var 时出错,如果使用任何其他 var 名称,错误就会消失

Android - 如何在整个应用程序生命周期中使用 ORMLite dbhelper

android - 如何防止静态字段中上下文类导致的内存泄漏