application的context和activity的context区别

来源:互联网 发布:天津知满天教育 编辑:程序博客网 时间:2024/05/16 11:25

问题:在一个activity中有时可以随意的使用这两个context,但是android为什么这么设计,在程序中什么时候要用到Application的Context呢?

Application的Context是一个全局静态变量,SDK的说明是只有当你引用的这个context的生命周期超过了当前activity的生命周期,而和整个应用的生命周期挂钩时,才去使用这个application的context。

一种推荐的用法就是应用程序注册广播broadcast时,使用这个context。

引用application context并不会导致内存泄漏。引用activity的context才会导致内存泄漏,当你的引用对象的生命周期超过了当前activity的生命周期时,系统回收你的activity时发现还有一个context的强引用,而不去销毁这个activity,导致内存泄漏,在开发过程中,需要非常重视这点。

0 0
原创粉丝点击