• Android之上下文context


    Context,中文直译为“上下文”,SDK中对其说明如下: 

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

    各种context及区别:

    1.getApplicationContext():返回在应用程序运行的所有活动中的上下文context。 
    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获取整个应用的上下文

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

  • 相关阅读:
    window 窗口对象 Javascript语言描述
    ASP.NET JScript公共类(非常有用)
    ASP.NET上传文件函数
    C#两种方式获取指定文件夹下所有子目录及文件
    模式窗口showModalDialog的用法总结
    DetailsView结合fileupload的使用
    JS连续向上滚动代码
    【原创】C# 递归获取指定目录的子目录及其所有文件
    【原创】C# 将虚拟目录下文件转换成DataTable
    【原创】ASP.NET C# 获取指定目录文件的排序和删除
  • 原文地址:https://www.cnblogs.com/wangxinqiang1995/p/6611880.html
Copyright © 2020-2023  润新知