zoukankan      html  css  js  c++  java
  • iOS iphone屏幕分析(岂止而大)

    在写本文前,我必须介绍几点内容:
    第一点:屏幕上面显示的内容多少和屏幕的尺寸大小无关
    第二点:屏幕上面显示的内容多少和分辨率完全无关
    第三点:屏幕上面显示的内容多少和屏幕尺寸、屏幕分辨率、PPI等都是无关的

    那到底什么才影响屏幕上面显示内容的多少呢?在苹果的iOS设备里面,那就是屏幕上Points(pt)点的数量,Point是一个绝对测量尺寸,一个Points可以表示多个像素,比如非视网膜上,1个Points就代表一个像素,但在视网膜屏幕上,1个Points就代表4个像素。也就是说3.5寸480*320分辨率的屏幕和3.5寸960*640视网膜分辨率的屏幕含的点数都是480*320,因此显示的内容一样多。统一使用Points对界面元素的大小进行描述,可以避免分辨率对编程思维的迷惑,在对普屏和Retina屏设备开发应用程序时,进行描述的界面元素的大小是一样的,系统发现是视网膜屏幕的设备时,就使用4倍像素渲染,因此就不会在不同设备上出现文字图标偏大、偏小、不清晰等影响阅读的现象发生。

    ↑ iOS 7系统(手机用)里面,一个图标使用60*60 Points,在普通屏幕上显示为60*60 像素,在视网膜上显示为120*120像素

    在苹果的定义里面,1个3.5寸的iPhone所含的Points数量为320*480,4寸iPhone的Points数量为320*568,1个图标为60*60 points,在非视网膜屏幕上,1个图标显示为60*60 像素,在视网膜上则显示为120*120像素。如果在开发iPhone程序界面的时候,增加Points数量,那么显示的内容就会增多。

    ↑微软最新的Surface 3 Pro,使用原始分辨率,也就是默认的96DPI,虽然可以显示很多东西,但看不清字!

    在Window 系统中,系统使用就是DPI(每英寸像素)来定义文字、图标等元素的。因此,在一定的尺寸下,屏幕分辨率越高,真实DPI 就会越高,所以显示的文字图标及内容越小(Window默认为96DPI)。最后我们就看到蚂蚁爬的字。所以苹果可将分辨率提升四倍,但显示文字、图标并没有缩小或看不,因为苹果用绝对值Points点来定义元素的,非视网膜屏1个Points就表示1个像素,视网膜上,1个Points就表示4个像素。当然屏幕上显示的内容并未增加。

    我们来看下苹果为不同尺寸iPhone 所定义Points的数量。iPhone 1/3G/3GS/4/4S Points的数量为480*320,iPhone 5/5C/5S为568*320,iPhone 6为667*375,iPhone 6 Plus为736*414。开发者在开发应用程序时就是基于这个绝对值Points的数量,而不是基于960*640,1136*640,1344*750,1920*1080等屏幕分辨率。原因是不同分辨率对程序开发员会造成迷惑,采用绝对值Points点绝不会出现微软那样的文字缩小或放大的现象;二是我们电脑屏幕并不是视网膜级别的,开发者不好干活;三是把四个像素当一个像素操作是非常不精确的…

    iPhone屏幕增加后,可视面积及屏幕显示内容的变化

    根据以上表格,也就是说iPhone 5比前代3.5寸屏的iPhone可显示内容增加了18.3%,iPhone 6又比iPhone 5可显示内容增加了37.6%(面积也是增大37.6%),iPhone 6 Plus则比iPhone 5显示内容增加了67.6%(iPhone 6 Plus屏幕的面积比iPhone 5增加了89.1%,稍微解释下,苹果在6 Plus上是以3倍像素渲染的,所以很多朋友都预测iPhone 6的分辨率为2208*1242,因为1920/736 又不是整数,所以苹果先放大3倍像素渲染,然后缩放到1920*1080的屏幕上,因此增加的可视面积和屏幕显示内容不成正比)。到这里,我想小伙伴应该都明白了,苹果不仅仅是把屏幕放大了,而是真真实实让屏幕的显示内容变多了,这才是苹果口中的岂止而大!

    ↑不同尺寸的iPhone 为其开发应用程序所使用的原始分辨率

    小伙伴们可能已经看过来新浪科技对iPhone 6的截图,我们把截图保存到你的4寸屏手机看看,是不是发现文字和图标变得好小,放大到和原系统一样大小时,图片装不下了。

    ↑iPhone 6的截屏在iPhone 5上显示时,发现文字和图标变得好小(苹果iPhone 6界面的Points点数量增加了38%)


    ↑再来对比下,小米手机4(5寸屏幕,分辨率1920*1080)主屏幕截图和步步高Xplay X3s(6寸大屏,分辨率为2560*1440)主屏截图在iPhone 5上显示(4寸超小屏,分辨率1136*640),图片不仅完全装下,而且每个字都很清晰、完全可读啊!

    所以,苹果采用大屏,不仅增加了可视面积,而且真真切切增加了屏幕的可视内容,其应用程序也都是重新开发了,并没有简单粗暴将过去的应用程序放大到4.7寸或者5.5寸的屏幕上(新浪科技有提到,未优化的应用会发虚)。而Android采用大屏幕高分辨率,就是简单的放大文字、图标,拉伸界面而已,这样的结果就是,哪怕是6寸2560*1440的屏幕显示的内容多少也和4寸的iPhone 5没有区别。

    小结下:
    相似三角形的面积之比等于边长的平方比(屏幕尺寸用斜对角线表示),因此屏幕的尺寸越大,那么可视面积自然就越大,比如一块4.7寸的屏幕要比4寸的屏幕大38%,6寸要大125%...,但过去,我们并没在更大屏幕和更高分辨率的Android手机上看到比小屏幕手机如4寸iPhone 5上多多少内容,甚至基本上是完全相同,因为这些手机只是简单把文字图标等比放大而已,应用程序开发商也没有做任何优化,并不能让我们接收更多消息,提高工作效率,这也是市面上这些大屏幕的最大缺憾,真的只是大了而已。

    而苹果说的是“比更大还更大”(现在换了“岂止而大”),是的,苹果的大屏就是如此,大了,屏幕上含的Points数量变多了,显示的内容增加了,这才是真的大了!显示内容增多可让我们接收更多的消息,可以让我们处理更多的文字图片,可以让我们更具效率,更加尽兴!这才是大屏的意义,所以这才是我们真正该买的大屏手机!

    最后,我最喜欢库克每次在发布会上说的,“Remember,Only Apple Can Do This!” 记住,只有苹果才能做得到!只有苹果才敢让开发者为其大屏幕重新开发应用程序,真正不浪费半点屏幕空间。

  • 相关阅读:
    php中的int参数
    php中parse_url函数的源码及分析
    记一次对python反弹shell的分析
    系统管理常用命令
    Linux内核参数注释与优化
    常见/dev/mapper/centos-root扩容
    使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群
    Postgres安装详解
    CentOS6.5生产环境系统安装
    Kafka跨网络访问设置
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/4122507.html
Copyright © 2011-2022 走看看