(一)概述
①Activity、Service继承自ContextWrapper,而ContextWrapper又是Context的子类,那么Activity、Service最终是继承自Context;
②Application直接继承自Context;
通过以上的继承关系,我们就可以知道,Context的具体作用会包括:
-
启动一个新的Activity
-
启动和停止Service
-
发送广播消息(Intent)
-
注册广播消息(Intent)接收者
-
可以访问APK中各种资源,如Resources和AssetManager
-
创建View
-
访问Package的相关信息
-
APK的各种权限管理
(二)Context创建的时机
①创建Application 对象时, 而且整个App共一个Application对象;
②创建Service对象时;
③创建Activity对象时;
所以应用程序App共有的Context数目公式为:
Service个数 + Activity个数 + 1(Application对应的Context实例)
(三)Context的常见应用场景
从表中可以看到,和UI相关的都使用Activity的Context对象。