android Context,Activity,Service,Applicatioin之间的关系

来源:互联网 发布:jira 数据库配置文件 编辑:程序博客网 时间:2024/04/29 06:27

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.csdn.net/droyon/article/details/29830157)

0 0