美文网首页
android中的context和this的区别

android中的context和this的区别

作者: 鼾声鼾语 | 来源:发表于2020-05-08 10:19 被阅读0次

在android中常常会遇到与context有关的内容,特写下这篇blog,浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么东东呢? 这里的this指的是Activity.this,是这个语句所在的Activity的this,是这个Activity 的上下文。网上有很多朋友在这里传入this.getApplicationContext(),这是不对的。 AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的。 于是,这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应 用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而AlertDialog应 该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传 入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它 的生命周期了。 所以,在这里我们只能使用Activity的this

context指的上下文环境
this指的是本类的对象,
一般情况:有context但是不一定有this,有this一定有context环境

相关文章

  • android中的context和this的区别

    在android中常常会遇到与context有关的内容,特写下这篇blog,浅论一下context : 在语句 A...

  • Android中获取context方法和区别

    在android开发中, 我们会经常用到getContext, getActivity, this, MainAc...

  • Android Context 区别

    一、context是什么? 学的时候是定义为当前上下文环境,一个Context意味着一个场景、环境,一个场景就是我...

  • 每日一学:Context

    Context Android程序和Java程序最大的区别是什么?java程序 入口是 main方法,可以直接运行...

  • Android中的Context对象

    Android中的Context对象 相关的类 Context Interface to global infor...

  • Android中的 Context

    Context是一个抽象基类,其中定义了大量的方法,比如startActivity,bindService等。这些...

  • Android中的Context

    转自: http://blog.csdn.net/qinjuning 之前一直被Context的作用迷惑,搞不明白...

  • Android 中的Context

    什么是Context Context是一个抽象基类,我们通过它访问当前包的资源(getResources、getA...

  • Android 中的Context

    Activity是从Context类中派生而来的 Context,中文直译为“上下文” 它描述的是一个应用程序环境...

  • Android中的Context

    Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过...

网友评论

      本文标题:android中的context和this的区别

      本文链接:https://www.haomeiwen.com/subject/pavxnhtx.html