文章转载自http://blog.csdn.net/demonliuhui/article/details/51511136

这里仅供自己学习参考;

Context,中文直译为“上下文”,SDK中对其说明如下:
1、它描述的是一个应用程序环境的信息,即上下文。
2、该类是一个抽象(abstract class)类,Android提供了该抽象类的具体实现类(后面我们会讲到是ContextIml类)。
3、通过它我们可以获取应用程序的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等。

各种context及区别:

1.getApplicationContext() 返回在应用程序运行的所有活动中。
2.Activity.this的context 返回当前activity的上下文
3.getbasecontext() 返回由构造函数指定或setBaseContext()设置的上下文,如果你想从应用程序中的另一种情况下,您可以访问访问上下文。
4.getContext() 返回上下文只查看当前运行的活动。
区别:
1.getApplicationContext() 生命周期是整个应用,应用摧毁它才摧毁Activity.this的context this.getContext(),属于activity ,activity 摧毁他就摧毁。
2.Activity.this的context 拿到的是当前Activity的Context,而getApplicationContext()拿到的是Application的Context。

使用

1.在Activity中可以直接调用getApplicationContext(),Activity.this/context获取相应的context。

2.在Fragment中的使用方式则为:
1.getActivity();//获取包含该fragment的活动(activity)上下文
2.getContext();//获取该fragment上下文
3.getActivity().getApplicationContext();//通过包含该fragment的活动(activity)获取整个应用的上下文
4.getContext().getApplicationContext();//通过该fragment获取整个应用的上下文

(在非特殊情况下(如:内存泄漏),这四种方式都可以正常使用,并且效果相同。)

如何在Fragment中获取context的更多相关文章

  1. Fragment中获取Activity的Context

    Fragment中获取Activity的Context时只需要this.getActivity()即可.

  2. Fragment中获取Activity的Context (转)

    Fragment中获取Activity的Context时只需要this.getActivity()即可.     而不是许多人说的this.getActivity().getApplicationCo ...

  3. 如何在SpringMVC中获取request对象

    1.注解法 @Autowired private HttpServletRequest request; <listener> <listener-class> org.spr ...

  4. 如何在Job中获取 IOC applicationcontext

    如何在Job中获取 IOC applicationcontext https://segmentfault.com/q/1010000008002800 SpringBoot之整合Quartz调度框架 ...

  5. 如何在Sql2008中获取表字段属性和注释?

    如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a. ...

  6. 关于Activity的getReferrer():如何在Activity中获取调用者?

    http://blog.csdn.net/u013553529/article/details/53856800 关于Activity的getReferrer()之一:如何在Activity中获取调用 ...

  7. 如何在onCreate中获取View的高度和宽度

    如何在onCreate中获取View的高度和宽度 原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&mid=2247483676&am ...

  8. 如何在 WPF 中获取所有已经显式赋过值的依赖项属性

    原文:如何在 WPF 中获取所有已经显式赋过值的依赖项属性 获取 WPF 的依赖项属性的值时,会依照优先级去各个级别获取.这样,无论你什么时候去获取依赖项属性,都至少是有一个有效值的.有什么方法可以获 ...

  9. 在Fragment中获取Activity中数据

    今天要做一个功能,用Fragment显示从其所在的Acitivity1中获取到的数据.这个Activity1是从另一个带有参数Activity2跳转过来的,所以要获得的是这些参数.因为之前没遇到过,所 ...

随机推荐

  1. android事件处理概括

    什么是事件处理? 事件处理就是针对用户的一些特定操作,进行相对应的回馈.时间处理也是程序开发中的人机交互的一个非常重要的体现.事件处理中,事件源是事件的起始位. 一.事件处理三要素 事件源——事件—— ...

  2. Linux下设置动态库的方法

    库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的. 一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使 ...

  3. BN和滑动平均

    BN目的是使得每层训练的输出结果在同一分布下,实验证明不仅可以加速收敛速度,还可以提高准确度 因为如果想要计算所有图像的均值与方差,显然不太现实,所以每次计算每个batch的方差与均值,为了使得每个b ...

  4. DM 9000网卡驱动移植

    1. 由于内核已经带有DM9000 网卡的驱动,所以主要移植工作是在板文件中添加 platform_device 结构,并加入 ok6410_devices[] __initdata 数组. 代码如下 ...

  5. 内存占用过高 kill 调整mysql内存占用

    通过 /var/log/messages  查看  被系统kill掉的进程   如果是自己崩溃会产生 hs_err_ 修改mysql  my.cnf    innodb_buffer_pool_siz ...

  6. JS----事件3

    一 事件对象(event):与特定事件相关且包含有关该事件详细信息的对象通过事件可以触发event对象的元素,鼠标的位置及状态,按下的键等等event对象只在事件发生的过程中才有效非IE浏览器里的ev ...

  7. 游戏AI技术

    [Unity3D人工智能编程精粹] 1.运动层.决策层.战略层. 运动层.决策层包含的算法是针对单个角色的,战略层是针对小队乃至更大规模群体的. 导航和寻路是运行层的主要任务. 决策层决定角色下一时间 ...

  8. 修改Eclipse主题与Eclipse中使用SVN

    自从开始IDEA后,很久没用eclipse了,有位老同学问我eclipse中如何使用SVN?我就打开eclipse试试,白光太刺眼了~作为强迫症修改下主题.结果如下: 修改完编辑的背景颜色,并没有很好 ...

  9. 在window下搭建Vue.Js开发环境(转)

    nodejs官网http://nodejs.cn/下载安装包,无特殊要求可本地傻瓜式安装,这里选择2017-5-2发布的 v6.10.3 cmd命令行: node -v //显示node版本 v6.1 ...

  10. 限制IP远程访问

    方法一:通过hosts.allow和hosts.deny文件进行ip限制 在/etc/目录下,同时存在hosts.allow和hosts.deny文件 如果我们希望某些ip不能访问,那么我们可以打开h ...