android 中的context是个啥?

2017-06-20  本文已影响58人  爱码士平头哥

Context是一个抽象类,定义了访问应用环境全局信息的接口;包括访问应用程序资源、打开Activity(startActivity())、启动Service(startService())、发送广播,文件读写等。Activity,Service以及Application均继承自Context,所以我们经常使用的startActivity(),getResource(),getSharedPreference(),getExternalFilesDir(),deleteDatabase()等等方法都来自于Context。UML类图如下所示:

Context

由上图可知,Activity,Service,Application并没有直接继承Context,而是继承自ContextWrapper。ContextWrapper是Context的包装类,内部包含一个Context的引用,指向Context的具体实现类ContextImpl。ContextWrapper内部的所有方法直接调用ContextImpl对应的方法。

上一篇下一篇

猜你喜欢

热点阅读