getApplicationContext(),Activity.this与getBaseContext()

getApplicationContext()返回的是整个应用Application的context,生命周期是整个应用的生命周期,Application摧毁时它才摧毁。
Activity.this 返回的是该Activity的context,生命周期与该Activity相同,Activity摧毁时,它便被摧毁。
getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文(谷歌工程师不建议使用)。

1:当Application的Context能搞定的情况下,并且生命周期长的对象,优先使用Application的Context。
2:不要让生命周期长于Activity的对象持有到Activity的引用。
3:尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用,如果使用静态内部类,将外部实例引用作为弱引用持有。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容