同样,在Android文档中Activity继承ContextThemeWrapper,ContextThemeWrapper继承ContextWrapper,ContextWrapper继承Context。所以this这个MainActivity也是Context,把this传入Toast.makeText表示“OK!”是在当前的MainActivity对象(也是Context)中显示的。 对于显示"Hello,world!"的Toast.makeText,这个函数在onClick中,而onClick是new ...
Android中的this、Activity、Context、Application等虽然有相似之处,但是不能乱用,每一个都有自己的特点。用的时候不能太随意了。 避免context相关的内存泄露,注意以下几点: 1. 不要让生命周期长的对象引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的 2. 对于生命周期长的对象,可以使用...
于是,这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应 用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而AlertDialog应 该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存...
Android 中this、getContext()、getApplicationContext()、getApplication()、getBaseContext() 之间的区别 : 知之为知之,不知为不知是知也! 使用this, 说明当前类是context的子类,一般是activity application等; this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为t...
1.dialog dialog依附于activity存在,所以直接用XXXActivity.this就好,当activity消失的时候dialog也就销毁了 2.activity 上面我们已经说过了,直接使用XXXActivity.this,返回的是当前的activity实例,当前activity销毁时,一起销毁 3.service,broadcastReceiver 两者都可以 ...
你好 m_Context 和 mainactivity.this 都是context 表示的是上下文 就是说你的image new的时候到底是从哪里new的 或者说你需要通过 Context才能识别调用者的实例 但是由于 android有四个组件(activity、broadcast、contentprivider、service)所以在当前的activity中用的是mainactivity.this 至于this 你把...
Android 有哪些类型的 Context ,它们有什么区别 在Activity 里,this 和 getBaseContext 有什么区别 ContextImpl 实例是什么时候生成的,在 Activity 的 onCreate 里能拿到这个实例吗 参考文献 Context意为上下文或者场景,是一个应用程序环境信息的接口。 从某种意义上,它就是一个万能接口百宝箱,譬如我们启动Acitivity...
Activity里面写的this是指Activity.this,指向当前Activity这个界面上下文 ApplicationContext顾名思义是整个...
其实以前需要使用当前context或者传入当前this作为参数的理解始终不够,期间有一次同事改的代码不小心把传入baseAdapter的context给误使用了this.getApplicationContext()方法传入,后来直接导致了在Android2.2上的本应有颜色布局文字出现了不正常现象,后来改为当前activity的this解决。
Context 是维持 Android 程序中各组件能够正常工作的一个核心功能类。 Context 本身是一个抽象类,其主要实现类为 ContextImpl,另外有直系子类两个: ContextWrapper ContextThemeWrapper 这两个子类都是 Context 的代理类,它们继承关系如下: ContextImpl类介绍 ContextImpl 是 Context API 的常见实现,它为 Activity ...