Android平台的一些关键设计目标:
1)为移动设备提供完全开源的平台。Android的开源部分是一个自下而上的操作系统,包含各种应用程序,能够作为完整的产品上市。
2)通过健壮的和稳定的API强有力的支持具有专利的第三方应用。维护一个平台真正开源的同时使其具有专利的第三方应用足够稳定是一个挑战。Android采用了一个混合技术解决方案(具体说明定义明确的SDK并且在公开的API和内部实现之间进行分隔)和策略必要条件(通过CDD)。
3)允许全部第三方应用程序,从而在公平的环境中进行竞争。Android开源代码被设计成对于建立在其上的高级系统功能尽可能保持中立,这些高级系统功能从云服务到库和诸如应用程序商店一类的丰富的服务。
4)提供一种应用程序安全模型,在该模型中用户不必深度依赖第三方应用程序。操作系统必须保护用户免受应用程序不端行为的危害,这不断包括可能导致系统崩溃的有缺陷的应用程序,而且还包括更为微妙的对设备和用户数据的不当使用。用户越不需要信任应用程序,他们就越拥有自由来尝试和安装这些应用程序。
5)支持典型的移动用户界面:使用用户在许多应用中花费少量的时间。移动体验趋向于与应用程序进行短暂的交互:看一眼新收到的电子邮件,接收或者发送一条SMS信息或者IM,进入通讯录拨打一个电话,等等。系统需要对这些情况进行优化,以期获得快速的应用启动和切换时间。Android的目标一般是用200ms冷启动一个基本的应用程序到显示完整的交互式UI。
6)为用户管理应用程序进程,简化围绕应用程序的用户体验,从而使用户在使用完应用程序之后不用想着要将其关闭。移动设备还趋向于在没有交换空间的条件下运行,交换空间能够在当前运行的应用程序需要的RAM多于物理上可用的RAM时,使操作系统衰退得更加优雅。为了处理这两个需求,系统需要采取更积极主动的态度来管理进程,决定何时应该启动和停止它们。
7)鼓励应用程序以丰富和安全的方式互操作和协作。 移动应用程序是以某种方式返回到shell命令的:它们不是像桌面应用程序那样越来越大的单一设计,而是瞄准并聚焦于特定的需求。为帮助支持这一点,操作系统需要为这些应用程序提供新型的设施,使它们共同协作以创建更大的整体。
8)创建一个完全通用的操作系统。移动设备是通用计算的一种新的表现,而不是对传统桌面操作系统的简化。Android的设计应该足够丰富,从而使它至少能够像传统操作系统一样不断成长。
参考文献:
[1] 现代操作系统