它们之间的区别是什么:
getApplicationContext()
getBasecontext()
getApplication()
getParent()
你能用一个简单的例子来详细说明吗?
发布于 2011-07-28 13:05:18
getApplicationContext()
应用程序上下文与应用程序相关联,并且在整个生命周期中始终相同。
不应该使用getBasecontext()
,只需使用Context
而不是与activity关联的activity,activity被销毁时可以销毁。
发布于 2013-04-08 17:35:30
getApplicationContext()应用程序上下文与应用程序相关联,并且在整个生命周期中始终是相同的。
不应该使用getBasecontext(),只使用上下文,而不是与活动关联的上下文,当活动被销毁时,可能会被销毁。
getApplication()仅对活动和服务可用。虽然在当前的Android活动和服务实现中,getApplication()和getApplicationContext()返回相同的对象,但不能保证情况总是如此(例如,在特定的供应商实现中)。因此,如果您想要在清单中注册的应用程序类,就不应该调用getApplicationContext()并将其强制转换为您的应用程序,因为它可能不是应用程序实例(您显然在使用测试框架时遇到了这种情况)。
如果当前视图为child..In,则getParent()返回活动的对象。换句话说,在子视图中调用时,将返回驻留子视图的活动对象。
https://stackoverflow.com/questions/6854265
复制相似问题