不久前,游戏开发商Shiftjelly的联合创始人Russel Ivanovic在个人博客发表了一篇文章,谈论的是Android屏幕碎片化的问题。人们通常认为,Android设备拥有上千种屏幕尺寸,为其开发应用一定是很痛苦的事情。对此,Russel Ivanovic给出了出人意料的结论。他说,事情并不是人们想象的那样困难。
一方面,Google从一开始就提供了界面布局工具,允许开发者定义多种界面视图,适应不同尺寸的设备,另一方面,Android屏幕分辨率早就开始标准化了,只是人们还没有意识到这一点。从公司的Pocket Casts应用收集的数据中,他找出了10款最受欢迎的手机,然后加上一款更高分辨率的LG G3,其结果是这样的:
LG G3: 1440×2560
Nexus 5: 1080×1920
Galaxy S5: 1080×1920
Galaxy S4: 1080×1920
Galaxy S3: 720×1280
Galaxy Note 3: 1080×1920
Galaxy Note: 800×1280
HTC One M8: 1080×1920
HTC One M7: 1080×1920
Nexus 4: 768×1280
Moto X: 720×1280
表面看起来,这里的分辨率有很多种。但是,对于开发者来说,考虑布局的时候是以“1x”或“1dp”为基础的。例如,iPhone 3G分辨率是320×480,iphone 4是640×960,不过,应用界面无需变化的。开发者不需要重新布置按钮,或者定制一个界面。Android也是同样的情况。上面提到的设备分辨率变为1x/1dp形式的时候,是这样的:
LG G3 @ 1x: 360×640
Nexus 5 @ 1x: 360×640
Galaxy S5 @ 1x: 360×640
Galaxy S4 @ 1x: 360×640
Galaxy S3 @ 1x: 360×640
Galaxy Note 3 @ 1x: 360×640
Galaxy Note @ 1x: 400×640
HTC One M7 @ 1x: 360×640
HTC One M8 @ 1x: 360×640
Nexus 4 @ 1x: 384×640
Moto X @ 1x: 360×640
因此,开发者考虑界面布局的时候,没有太多的变体。除了宽度的变化之外,还有高度上的变化,因为在一些设备上,系统按键要占据一部分空间(Android 4.4后,系统按键可以融入到界面之中了)。Shiftjelly开发应用的时候,只考虑四种分辨率。一副图片来形象地表示:
在Android发展早期,屏幕尺寸更为多样。到了Android 4.0以后,情况已经有了很大改观了,而且,由于Android设备数量众多,即使开发者仅支持4.0以上的设备,用户数量也是相当可观的。
相比Android开发者来说,iOS开发者一直是比较轻松,只是到了iPhone 5的时候,情况才发生了一些变化。但是,随着iphone 6的到来,iOS开发者也要面对屏幕碎片化问题了。专注苹果新闻的知名科技作者John Gruber最近发表了一篇长文,详细分析了iphone6可能的分辨率。他认为,4.7英寸和5.5英寸的版本都可能存在,其分辨率是这样的:
4.7英寸: 1334 × 750, 326 PPI @2x
5.5英寸: 2208 × 1242, 461 PPI @3x
这样的话,iOS开发者需要考虑四种分辨率。
320×480 @1x iphone 4
320×536 @1x iphone 5
375×667 @1x iphone 6, 4.7″
414×736 @1x iphone 6, 5.5″
Russel Ivanovic用另一张图来形象表示:
这意味什么呢?Russel Ivanovic说,如果支持不同屏幕尺寸,iOS开发者要做的工作甚至要超过Android开发者。另外,要做好这件事情,最好的工具在iOS 8中,许多开发者可能会只支持iOS8,比避免手动布局带来的痛苦。不过,这也未必是坏事。一个可能的后果是,应用的iOS版会比Android好。因为iphone屏幕尺寸增大后会展现更多信息,而不仅仅是界面的放大。
关注天下网吧微信,了解网吧网咖经营管理,安装维护:
本文来源:不详 作者:佚名