Android的Context简介
16lz
2021-01-24
Context字面意思上下文,位于framework package的android.content.Context中,很多方法需要通过 Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的 实例为Activity,而到了一个button的onClick(View view)等方法时,我们用this时就会报错,所以我们可能使用ActivityName.this来解决,主要原因是因为实现Context的类主要有Android特有的几个模型,Activity、Service以及BroadcastReceiver。
两种类型的Context 在android中context可以作很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。比如一个activity的onCreate,如下:protected void onCreate(Bundle state) { super.onCreate(state); TextView label = new TextView(this); //传递context给view control label.setText("Leaks are bad"); setContentView(label);}
把activity context传递给view,意味着view拥有一个指向activity的引用,进而引用activity占有的资源:view hierachy, resource等。
更多相关文章
- Android(安卓)Canvas绘图详解(图文)
- Android解析XML三种方式(PULL、SAX、DOM)
- android中自定义ViewGroup的实现
- Android中Activity生命周期
- Android(安卓)apk动态加载机制的研究(二):资源加载和activity生命周
- Android中自定义ListView无法响应OnItemClickListener中的onItem
- Android(安卓)Touch事件传递机制解析
- Android开发贴士集合(Part 1~4)
- android binder 基础实例及解析(一)