1.3 Android的架构特征和设计思想

平台的设计思想,决定了整个平台的架构和功能设计。对于开发者而言,理解了平台的设计思想,就好比练武之人打通了任督二脉,能够将对功能的认知融会贯通起来,使用时也会更为得心应手。

比如,Symbian的设计很多都是从提升性能的角度来出发的,因此舍弃了很多对界面效果及接口可用性的优化。因为在Symbian的时代,移动设备的硬件处理能力还很弱,设备屏幕小,分辨率很低,移动应用也远没有如今丰富。Symbian不需要提供强大的界面框架,也不需要过多地考虑应用间的关联。

然而,随着移动设备性能的不断提升,用户对移动应用需求的不断增加,Symbian等传统移动平台的设计就显得过时了,不再能满足开发者和用户的需求了。而Android正是基于当前环境进行设计的,它考虑了设备的兼容性,增强了应用之间的功能复用,优化了对网络服务的支持,简化了应用开发的难度。

很多时候,开发者单独看Android的一些设计,就不由自主地想问:“为什么要这样设计?”也许,尝试从Android的设计思想出发去理解,很多疑问就迎刃而解了。

1.3.1 平台开放性

Android期望打造的是一个开放的平台,可以运行在各式各样的设备环境下。开放性对平台架构设计最大的要求,就是兼容性,即兼容不同硬件的设备、屏幕尺寸、外设、语言环境,等等。

在底层,Android架设在Linux之上。Linux强大的可移植能力,保证了Android可以在不同的硬件环境中运行。而在上层,Android为应用提供了很多能够增强兼容性的机制,比如:基于资源目录的应用资源体系。开发者可以针对不同的设备环境,分别定制描述同一界面对象的资源文件,然后分别放入特定的资源目录中,Android系统会在运行时寻找最符合当前设备环境的资源文件,从而提供最合适的用户体验。

对于开发者而言,应该在应用开发的过程中充分考虑兼容性的因素,并利用Android提供的设计和方法,提升应用的兼容性,保证在不同的Android设备和版本上的应用都有最好的用户体验。