context : 上下文,是application、activity、service的抽象基类,作用:访问应用资源(getResources、getAssets和启动其他组件 activity broadcast service)context 定义了一套基本的功能接口,是一套规范,而Activity 和 service 则是这个基类的实现,实际是被ContextImpl类统一实现的,Activity和service则是继承并有选择性地重写了某些规范的实现。
application 、activity、service的区别
共同点:都间接继承了context
虽然 application、activity、service都有各自的contextcompl,但是他们最终都是通过同一个resourcemanager实例(单例模式)来获取资源
getApplication和getApplicationContext的区别
作为我们开发的第三方软件,他们返回的都是应用唯一全局的application对象,不同的是getApplicationContext 返回的类型是context
应用中Context的数量
到此已经很明了了,一个应用中Context的数量等于Activity的个数 + Service的个数 + 1,这个1为Application。
网友评论