Android Context 解析

前言
Android程序不同于Java程序(只需要 main() 函数就可以运行),而是需要一个完整的Android工程环境,这个环境下我们有像 ActivityServiceBroadcastReceiverContentProvider 等系统软件。每个组件都要有各自的上下文环境,也就是 Context——维持Android程序中各组件能够正常工作的核心功能类。

Context 类型

image

简单来说,Context 一共有三种类型:ApplicationServiceActivity
出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。而Dialog则必须在一个Activity上面弹出(除非是System Alert类型的Dialog)。
因此在这种场景下,我们只能使用Activity类型的Context,否则将会出错。

Context 数量

Context数量 = Activity数量 + Service数量 + 1

上面的1代表着Application的数量,因为一个应用程序中可以有多个Activity和多个Service,但是只能有一个Application

Application Context 的设计

使用 Application 的问题

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

推荐阅读更多精彩内容