Android中的context使用(getApplicationContext和Activity.this的区别和使用)
2017-06-03 11:25
585 查看
1、首先两者的区别:
1、getApplicationContext()返回的是应用的上下文,隶属于整个应用,应用结束时才摧毁。2、Activity.this返回到是Activity的上下文,隶属于Activiy,当Activity实例摧毁时它就跟着摧毁了。
2、两者的使用:
1、getApplicationContext()是跟Windows无关的,所以不能做对话框的上下文,它可以做全局数据操作的上下文。2、Activity.this是跟Windows相关的,所以新建对话框的需要使用Activity.this。否则会报错。
3、Context的应用场景
大家注意看到有一些NO上添加了一些数字,其实这些从能力上来说是YES,但是为什么说是NO呢?下面一个一个解释:
数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task。一般情况不推荐。
数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用。
数字3:在receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视)
建议:尽量不要使用getBaseContext()。这里有一篇关于Context的文章比较好大家可以看看
参考博客,里面还有大牛博客的案例,比如电商的刮刮卡!!等主流控件应用!!!
转载地址
相关文章推荐
- Android中的context使用(getApplicationContext和Activity.this的区别和使用)
- 安卓开发:在Activity中使用getApplicationcontext()与this获取上下文对象的区别
- Android 中几个Context的区别,getApplicationContext(),Activity.this,getBaseContext()
- Android中Context、getApplication、getApplicationContext、this、Activity.this的区别
- Android的上下文环境Activity的this和getApplicationContext的区别
- Android:getApplicationContext()、Activity.this、 getBaseContext()区别
- Android 中this、 getApplicationContext()、getApplication()之间的区别
- Activity.this和getApplicationContext()的区别
- getApplicationContext()、Activity.this、 getBaseContext区别
- Android 中 getApplicationContext()、this、getApplication()之间的区别
- getApplication()、getApplicationContext()、getBaseContext()、MainActivity.this、this、getContext()之间的区别
- Android 中 getApplicationContext()、this、getApplication()之间的区别
- getApplicationContext与Activity.this,getBaseContext的区别
- getApplicationContext()、Activity.this、 getBaseContext区别
- android中获取context的多种方法的区别(this,getbascontext(),getApplicationcontext())
- Android 中 getApplicationContext()、this、getApplication()之间的区别
- Android 中 getApplicationContext()、this、getBaseContext()之间的区别
- getApplicationContext()、Activity.this、 getBaseContext区别
- Android 中 getApplicationContext()、this、getApplication()之间的区别 .
- Context 的作用、getApplicationContext()、Activity.this、 getBaseContext区别 和 Application用途