我理解的context

Context关系图.png

由Context的类关系图可以得到如下信息:
Activity的父类是ContextThemeWrapper,因为Activity有主题。
Application和Service是继承于ContextWrapper的。
一个应用中的Context的数量=进程的数量(一个进程有一个application)+activity的数量+service的数量。

Context作用域.png

重点解释前三个:
show a dialog只能用activity的原因是:由于Android系统的安全性考虑,dialog必须依附于页面出现。
start activity不推荐使用application和service的原因是:一个Activity是需要在一个任务栈中的。application和service是没有任务栈的,如果用application和service启动一个activity,必须设置FLAG_ACTIVITY_NEW_TASK标志。
inflate引入布局不推荐使用application和service的原因:如果引入的布局加入了theme主题的话,application和service是不支持的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容