1.望文生义Context,Activity,Service,Applicatioin
1.1 Context 上下文对象,为应用运行的环境相关信息、资源的接口(提供了访问应用资源的接口);同时提供了应用级别操作的接口。如启动Activity,绑定服务,发送广播等操作。
1.2 Activity 用户交互载体。
1.3 Service 一个执行耗时操纵或者给其他应用提供功能的组件。
1.4 Application 维护整个应用的组件。(单例)
2.相互之间的关系
注:图片取自网络http://blog.163.com/ahszrj123@126/blog/static/10952902920126841450626/
分析:
从上面的类图可以看出用到了装饰模式(参考:http://www.cnblogs.com/oyjj/archive/2010/08/26/2132947.html)
1.Context定义了操作的接口,真正实现功能的是ContextImpl类。ContextWrapper为包装类。上图中ContextWrapper类中mBase类型为Context,正是通过mBase对象,将所有ContextWrapper中方法的调用委托给了
ContextImpl对象,因此子类Activity,Service,Application中调用Context接口的方法实际上都是调用了ContextWrapper对象中的方法。
2.应用中Context对象个数=Application(1)+Activity个数+Service个数
3.Activity,Service,Application何时创建,参看(http://blog.youkuaiyun.com/droyon/article/details/29830157)