安卓和其他移动平台的主要区别体现在对应用程序的定义上。其他移动平台把应用程序定义成一个独立的程序,运行在自己的沙箱中,与其所在平台的交互受到限制。应用程序通过移动平台提供的API使用平台的服务、存取数据。然而,这种交互方式往往是单向,也就是说应用程序可以使用平台的服务,但是平台上运行的其他应用程序不能访问其他应用程序提供的服务。
在安卓平台上,应用程序就像组件一样。每个应用程序由一系列组件组成,这些组件可以被平台上的其他应用程序访问。安卓平台上的每个新的应用程序都相当于扩展了平台功能,提供了一系列可供其他应用程序开发使用的新组件。应用程序开发人员不需要考虑一系列API和约定就能与其他应用程序进行互操作。
安卓框架主要包含了四种组件:activity, service, broadcast receiver,content provider.每个应用程序可以包含这些组件,也可以只使用其中几个。