this 和context和 getApplictionContext的区别
来源:互联网 发布:执行偏差算法 is 编辑:程序博客网 时间:2024/05/17 22:21
关于this 和Context和 getApplictionContext的概念明晰
上面概念明确的关键的是Context的理解
Context
Context是什么?
我们可以理解为“上下文”:它贯穿整个应用;
也可以理解成“运行环境”:它提供了一个应用运行所需要的信息,资源,系统服务等;
同样可以理解成“场景”:用户操作和系统交互这一过程就是一个场景,比如Activity之间的切换,服务的启动等都少不了Context。
从上图看出Activity是一个Context,Service也是一个Context,Application也是一个Context等等
所以区分的关键要明白Context
区分理解
context:因为Activity 最终是实现 public abstract class Context 这个抽象类,
所以activity.this 会是context向上转型了 成Context类型。
this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为this. Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁使用内部类引用外部类对象实例的时候 就必须用**.this)
getApplicationContext :是当前app所使用的application,这在AndroidManifest中唯一指定。意味着,在当前app的任意位置使用这个函数得到的是同一个Context;
getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。(所以除非全局存在的例如单例的toast,不然慎用getApplicationContext ,)
- this 和context和 getApplictionContext的区别
- Activity.this和this.getApplictionContext的区别
- this 和 getApplicationContext Context的区别
- this 和 getApplicationContext Context的区别
- this 和 getApplicationContext Context的区别
- this 和 getApplicationContext Context的区别
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- this和$(this)的区别
- this和 $(this)的区别
- Application Context 和 Widget Context 的区别
- Application context和Activity context的区别
- Application context和Activity context的区别
- Application context和Activity context的区别
- Application context和Activity context的区别
- 三、myBatis的配置(xml)文件报一些莫名其妙的错
- android 编译类型eng/user/userdebug区别
- C#Winform 将DataGridView中的数据导入到Excel中
- 剑指offer-面试题25-二叉树中和为某一值的路径
- WIN10 QWT6.1.3+VS2015编译
- this 和context和 getApplictionContext的区别
- matlab单帧频谱16个高斯混合拟合
- [面试必看]Java集合类学习整理
- 第三十九将项目五 反序数
- js的DOM对象与Jquery对象的区别和转换方法总结
- 整理本地多次commit
- Fecth 跨域问题
- Linux内核启动应用程序分析(三)
- leetcode344: Reverse String