首页 > 范文大全 > 正文

分辨率乱战Android

开篇:润墨网以专业的文秘视角,为您筛选了一篇分辨率乱战Android范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

把2010年称为Android年,恐怕没几个人会反对――从2010年初开始,几乎所有的消费电子类展会上,Android都是当然的主角。除了苹果借iPhone 4和iPad 2抢走了一些关注之外,Android绝对引起了全球产业链的最大关注。

与此同时,市场的反响也非常给力。根据Gartner的报告显示,2010年全球智能手机销量较2009年增长72.1%,Android的市场份额高达22.7%,已经成为全球第二大智能手机平台,仅次于诺基亚Symbian(37,6%),超过RIM(16%)和苹果(15.7%)以及微软(4.2%)等。而从销量来看,Android手机在2010年的销量比2009年增长了888.8%。

不过,在Android表面光鲜亮丽的背后,却并不都是光辉与荣耀。Android平台上的程序大部分都采取免费的方式提供给用户,包括一些在lOS采用销售的方式进行的优秀应用和游戏在Android上都是完全免费的。对于开发者来说,他们看重的都是Android这块大饼背后的Google广告产业链,但是直到目前为止,依然没有太多的开发者通过Android平台赚到钱。

另一方面,让开发者头疼的还不只是收入的问题,Android平台硬件的千差万别更让人纠结,这意味着开发者的应用可能会出现在某些使用特定硬件的机型上无法运行的情况,而在这其中,分辨率的不同可能是开发者最先遇到的问题。

开放的阴面

尽管android的开放在很多开发者看来还是“伪开放”,但是不容否认,就是这种程度的开放,也可以大大促进Android平台的推广和普及程度。Android的开放使得Android产业链的每个环节都变得内容丰富:各个硬件厂商都可以根据自己的供应链和产品定位生产出各种配置的Android设备:软件服务商则可以为用户提供除了官方的AndroidMarket之外的多种第三方软件市场:软件开发者可以方便地调用手机中的大部分系统硬件资源而无需申请:用户也可以有着充分的选择权,从不到1000元的低端Android手机到超过6000元的Android平台,使用习惯都可以一脉相承。

正是出于全面开放的策略,再加上Google自己并不直接生产硬件,其进入移动设备领域也是为了将其广告帝国延伸到移动端,所以Google在搭建Android的架构时,不能选择对硬件有要求的编程语言,而是要选择一种可以在不同硬件平台上都可以运行的编程语言。如果使用传统的编程语言,由于依赖库和语言本身的限制,很难屏蔽掉硬件差异,出于这样的原因,Google选择了Java作为Android应用的开发架构。

这一选择在Android发展的初期无疑给第三方开发提供了强大的助推动力,因为在Android上市之前,市面上已经有大量移动Java开发者,这些开发者很容易就可以转变成Android的开发人员。另外,Java本身的入门门槛相对较低,而Google在Android中又将Java提到了系统级的高度,重新设计了Java虚拟机和系统,使得Android的Java应用更接近于底层系统,效率更高,也可以实现更多功能,而在虚拟机中运行的Java程序在安全性方面有一定的保证,开发者也无需接触到底层操作系统就可以为Android平台开发应用(这也就是Android被指责开放并不完全的原因)。

但是,正是因为Google的开放策略,Android支持的硬件种类很多,故Android手机的硬件配置也因此千差万别。

分辨率分化事出有因

从目前已经上市或者已经尚未上市的Android手机来看,主流分辨率包括低端的QVGA(320×240)、中端的HVGA(480×320)和高端的WVGA(800×480),另外,还有一些特殊的分辨率,包括低端的240×400、240×480,中端的360×400,魅族特有的960×640。而摩托罗拉即将上市的Android旗舰产品Atrix 4G更是采用了高达540×960的分辨率,这还不算那些基于Android的平板电脑。

毕竟,对于手机来说,液晶屏的成本占了整个手机硬件成本的很大一部分,而且使用更高分辨率的手机屏幕意味着需要性能更高的图形图像处理器、中央处理器和更大的内存,另外,分辨率越高,屏幕的尺寸必然要求更大,耗电量也会成倍提升,对电池也有一定的要求,这些需求都提高了产品的成本。因此,一般来说,一款手机产品屏幕的分辨率高低就代表了厂商对这款产品的市场定位。

对于消费者来说,不同分辨率的存在可以有更多的选择,高分辨率的屏幕看上去的确细腻,但是一方面使用高分辨率屏幕的手机价格不菲,另一方面高分辨率屏幕上的文字会比较小,对于眼神不好的用户来说可能阅读起来有些吃力。其实,在智能手机还没有兴起的时候,手机屏幕的分辨率也是千差万别的,但当时的功能手机没有太多的扩展程序,因此屏幕分辨率的差别在消费者的实际使用中几乎没有影响。但是当手机发展到智能手机、需要第三方程序支持的时期,屏幕分辨率差别过大给开发者带来的困扰就直接转嫁到消费者头上了。硬件差异急需整合

在设计之初,Android系统就被设计为一个可以在多种不同分辨率的设备上运行的操作系统,系统平台向应用程序提供一个跨平台的运行环境,但是从输出的端口来看,因为分辨率相差太大,应用程序中的某些元素,包括背景、图标、菜单等等或许会无法适应屏幕分辨率从320×240像素到1280×800像素的变化。其实,除7Android之外,symbian、WindOWS Phone、BlackBerry和iOS都曾经遇到过这个问题,但是却都没有对目标客户造成太大的影响。从某种程度上来说,Android开放之后,其产品阵营如同一群组织上毫无纪律的乌合之众,大家加入Android的队伍,却没有共同的方向。

以iOS为例,苹果在移动端近乎统一的硬件平台使得开发者可以集中精力到软件内容本身而非硬件兼容性上,特别是分辨率,iPhone和iPod Touch的屏幕分辨率到目前为止仅仅变动了1次,而硬件体系和操作系统都是一脉相承,这使得开发者完全不需要顾及游戏的升级和移植是否需要配合软件和硬件的改变。

而对于Android开发者来说,适配不同的机型简直就是一场噩梦。在Android 1.5以及更早的版本中,只支持3.2英寸屏幕上的HVGA(320×480)分辨率,开发人员也不需要考虑界面的适配性问题。而从Android 1.6之后,平台支持多种尺寸和分辨率的设备,这也就意味着开发人员在设计时要考虑到屏幕的多样性。“Android提供了对分辨率自适应的测试功能,可以在编程的时候进行预处理,但是并不能保证在真机上可以运行,所以还是要找不同的机型来测试。”Android上的拍照软件――Camera360的开发团队这样对EF表示。

是继续让硬件就此分化下去,还是通过整合操作系统版本实现分辨率的相对统一,这是Android未来1~2年里最亟待解决的问题之一。