- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
iOS开发者也要面对屏幕碎片化?
不久前,游戏开发商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 Note3: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 Note3@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最近发表了一篇长文,详细分析了iPhone 6可能的分辨率。他认为,4.7英寸和5.5英寸的版本都可能存在,其分辨率是这样的:
4.7英寸:1334 × 750,326 PPI@2x
5.5英寸:2208 × 1242,461 PPI@3x
这样的话,iOS开发者需要考虑四种分辨率。
320×480@1xiPhone 4
320×536@1xiPhone 5
375×667@1xiPhone 6,4.7″
414×736@1xiPhone 6,5.5″
Russel Ivanovic用另一张图来形象表示:
这意味什么呢?Russel Ivanovic说,如果支持不同屏幕尺寸,iOS开发者要做的工作甚至要超过Android开发者。另外,要做好这件事情,最好的工具在iOS8中,许多开发者可能会只支持iOS 8,比避免手动布局带来的痛苦。不过,这也未必是坏事。一个可能的后果是,应用的iOS版会比Android好。因为iPhone屏幕尺寸增大后会展现更多信息,而不仅仅是界面的放大。
来源:爱范儿