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!” 记住,只有苹果才能做得到!只有苹果才敢让开发者为其大屏幕重新开发应用程序,真正不浪费半点屏幕空间。
iOS iphone屏幕分析(岂止而大)的更多相关文章
- iOS - iPhone屏幕适配/启动图适配/APP图标适配(iPhone最全尺寸包含iPhoneX/XR/XS/XS Max等)
趁iPhone新品还没有发布,先整理一下屏幕适配.启动图适配.APP图标适配的笔记,方便以后查阅: 注:部分图片来源于网络 违删; (一)iPhone屏幕适配: (1)屏幕分辨率: ①设计尺寸规范(表 ...
- 关于IOS的屏幕适配(iPhone)——资源适配
IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...
- iOS开发点滴:iPhone屏幕适配
最近开始做iOS开发,遇到一些小问题和解决方法,记录下. 今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面 ...
- iOS AppIcon尺寸和上传ITunes构建版本尺寸和iPhone屏幕尺寸
避免忘记. 记录一下 App Icon: 29X2940X4058X5876X7687X8780X80120X120152X152167X167180X180 ITunes构建版本: 1242 x 2 ...
- 每位iOS开发者不容错过的10大有用工具
内容简单介绍 1.iOS简单介绍 2.iOS开发十大有用工具之开发环境 3.iOS开发十大有用工具之图标设计 4.iOS开发十大有用工具之原型设计 5.iOS开发十大有用工具之演示工具 6.iOS开发 ...
- iPhone屏幕适配,历史及现状(http://hjcapple.github.io/2014/10/10/iphone-screen.html)
iPhone屏幕适配,历史及现状 初代iPhone 2007年,初代iPhone发布,屏幕的宽高是320×480像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS的也保持不变 ...
- iPhone屏幕尺寸、分辨率及适配
转:http://blog.csdn.net/phunxm/article/details/42174937 目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 H ...
- 【转】iPhone屏幕尺寸、分辨率及适配
原文网址:http://blog.csdn.net/phunxm/article/details/42174937 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角 ...
- iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass
autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ...
随机推荐
- python关于字典的使用方法
#-*- coding:utf-8 -*-#Author:gxli#定义字典id_db={ 233333199211222342:{ 'name':'xiaoa', 'age':23, 'addr': ...
- 小学生四则运算C/C++编程设计思想
题目: 1.题目避免重复: 2.可定制(数量(打印方式)): 3.可控制下列参数:是否有乘除法.是否有括号.数值范围.加减有无负数. 除法有无余数.是否支持分 ...
- Visual Studio 2012 [ADO.NET 实体数据模型]丢失没有的解决方法
首先打开控制面板,看是否已经安装EF,如果已经安装,先卸载,然后,首先打开安装包,找到/packages/EFTools目录下的EFTools.msi,将它们复制自己计算机的某一目录下,例如:C:\t ...
- Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=14.0
参考地址一:点击这里 参考地址二:点击这里 解决方法: 使用office COM元件,电脑里必须要有相对应的版本,比如 Excel 14.0是对应Excel 2010 Excel 12.0是对应Exc ...
- Gulp压缩JavaScript代码
因为gulp是自动化工具,所以我们得告诉它,需要怎么做,才能达到我们的目的. 我们首先得新建一个js文件,用来编写我们的需求,以便gulp能按着我们的意愿来执行. 我将这个js文件取名叫gulpfil ...
- C#做音乐播放器时在自动下一曲中报异常的解决办法
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 在利用Media Player做音乐播放器的时 ...
- 使用NPOI和线程池快速加载EXCEL数据
private void FilterData() { List<Task> tasks = new List<Task>(); IWorkbook workbook = Cs ...
- [百度空间] [转] 四元数(Quaternions)
转:四元数(Quaternions) 好吧,我必须承认到目前为止我还没有完全理解四元数,我一度把四元数理解为轴.角表示的4维向量,也就在下午我才从和同事的争辩中理解了四元数不完全是角.轴这么简单,为此 ...
- 《深入浅出JavaScript》
第一章JS入门 第二章数据和判定常用的转义序列\b 回退 \f换页 \n换行 \r回车 \t制表符 \'单引 \"双引 \\反斜乘除求余的优先级相同,从左向右执行string对象indexO ...
- javascript实现数据结构与算法系列:功能完整的线性链表
由于链表在空间的合理利用上和插入,删除时不需要移动等的有点,因此在很多场合下,它是线性表的首选存储结构.然而,它也存在着实现某些基本操作,如求线性表长度时不如顺序存储结构的缺点:另一方面,由于在链表中 ...