首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >getApplicationContext()、getBaseContext()、getApplication()、getParent()

getApplicationContext()、getBaseContext()、getApplication()、getParent()
EN

Stack Overflow用户
提问于 2011-07-28 12:56:01
回答 2查看 57.1K关注 0票数 97

它们之间的区别是什么:

  1. getApplicationContext()
  2. getBasecontext()
  3. getApplication()
  4. getParent()

你能用一个简单的例子来详细说明吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-28 13:05:18

getApplicationContext()应用程序上下文与应用程序相关联,并且在整个生命周期中始终相同。

不应该使用getBasecontext(),只需使用Context而不是与activity关联的activity,activity被销毁时可以销毁。

票数 37
EN

Stack Overflow用户

发布于 2013-04-08 17:35:30

getApplicationContext()应用程序上下文与应用程序相关联,并且在整个生命周期中始终是相同的。

不应该使用getBasecontext(),只使用上下文,而不是与活动关联的上下文,当活动被销毁时,可能会被销毁。

getApplication()仅对活动和服务可用。虽然在当前的Android活动和服务实现中,getApplication()getApplicationContext()返回相同的对象,但不能保证情况总是如此(例如,在特定的供应商实现中)。因此,如果您想要在清单中注册的应用程序类,就不应该调用getApplicationContext()并将其强制转换为您的应用程序,因为它可能不是应用程序实例(您显然在使用测试框架时遇到了这种情况)。

如果当前视图为child..In,则getParent()返回活动的对象。换句话说,在子视图中调用时,将返回驻留子视图的活动对象。

票数 109
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6854265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档