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 的问题

你可能感兴趣的:(Android Context 解析)