getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。 使用getContext获取的是当前对象所在的Context, Context通常翻译成上下文,我通常当成场景来理解。 getApplication():andorid 开发中共享全局数据; getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文 我们在平时的开发中...
大多数答案已经涵盖 getContext() 和getApplicationContext() 但很少解释 getBaseContext()。 方法getBaseContext() 仅在您拥有 ContextWrapper --- 时才相关。 Android 提供了一个 ContextWrapper 类,它是围绕现有的 Context 创建的,使用: ContextWrapper wrapper = new ContextWrapper(context); 使用ContextWrapper...
getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。 使用getContext获取的是当前对象所在的Context, Context通常翻译成上下文,我通常当成场景来理解。 getApplication():andorid 开发中共享全局数据; getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文 我们在平时的开发中...
在使用Android上下文参数的时候经常分不清Activity.this(这里的Activity代指Activity类,也就是你需要使用context参数的那个Activity,例如:MainActivity),getApplicationContext()和getBaseContext(),经过谷歌查询,终于算是有些明白了,这里记下来,备忘,也希望能帮助更多的人。 首先说一下生命周期上的区别。 getApplicationCon...
2.activity 上面我们已经说过了,直接使用XXXActivity.this,返回的是当前的activity实例,当前activity销毁时,一起销毁 3.service,broadcastReceiver 两者都可以 总结:和UI操作相关的不建议使用getApplicationContext(),一般都使用和activity相关的context,其余的操作,看具体情况,根据存在的生命周期的长度作出选择 ...
一、Context的获取 获取context的方法有以下几种: 活动类中使用this关键字、getApplicationContext()、getBaseContext() Activity.this 返回当前的活动类实例。 使用getApplicationContext获取整个应用的context,获取的对象存活周期和应用一样长。 getBaseContext 获取ContextWrapper的原始context,也就是获取到一个ContextImpl...
在使用Android上下文参数的时候经常分不清Activity.this(这里的Activity代指Activity类,也就是你需要使用context参数的那个Activity,例如:MainActivity),getApplicationContext()和getBaseContext(),经过谷歌查询,终于算是有些明白了,这里记下来,备忘,也希望能帮助更多的人。
final void attach(Context context) { attachBaseContext(context); mLoadedApk = ContextImpl.getImpl(context).mPackageInfo; } 走到这里就很明清晰了,最终将会调用 ContextWrapper 的 attachBaseContext 方法。从上面到这里,如预料的一样,分析到这里,记住了多少?是不是只知道 Application 里面最终会调用 attachBa...
另外,ContentProvider、BroadcastReceiver之所以在上述表格中,是因为在其内部方法中都有一个context用于使用。 参考文章:Android Context 上下文 你必须知道的一切 7、getApplication()、getApplicationContext()和getBaseContext() (1)getApplication()与getApplicationContext()返回的都是Application对象。