目前有很多关于这两个上下文的帖子.. 但我仍然不是很理解
据我目前所了解的:
每个都是其类的实例,这意味着一些程序员建议您尽可能使用 this.getApplicationContext()
,以便不会"泄漏"任何内存。这是因为另一个 this
(获取活动实例上下文)指向正在被销毁的Activity
,每次用户旋转手机或离开应用程序等。显然,垃圾收集器(GC)无法捕获它,因此会使用太多内存。
但请问有没有人能提供一些非常好的编码示例,其中使用this
(获取当前Activity
实例的上下文)将是正确的选择,而应用程序上下文将是无用/错误的?
getApplicationContext()
。如果要填充一个布局,请使用Activity。如果要绑定到服务,需要该绑定在配置更改后仍然存在,请使用getApplicationContext()
,以便该绑定与Activity实例无关。 - CommonsWare