iOS 岂止而大
在寫本文前,我必須介紹幾點(diǎn)內(nèi)容:
第一點(diǎn):屏幕上面顯示的內(nèi)容多少和屏幕的尺寸大小無關(guān)
第二點(diǎn):屏幕上面顯示的內(nèi)容多少和分辨率完全無關(guān)
第三點(diǎn):屏幕上面顯示的內(nèi)容多少和屏幕尺寸、屏幕分辨率、PPI等都是無關(guān)的
那到底什么才影響屏幕上面顯示內(nèi)容的多少呢?在蘋果的iOS設(shè)備里面,那就是屏幕上Points(pt)點(diǎn)的數(shù)量,Point是一個絕對測量尺寸,一個Points可以表示多個像素,比如非視網(wǎng)膜上,1個Points就代表一個像素,但在視網(wǎng)膜屏幕上,1個Points就代表4個像素。也就是說3.5寸480*320分辨率的屏幕和3.5寸960*640視網(wǎng)膜分辨率的屏幕含的點(diǎn)數(shù)都是480*320,因此顯示的內(nèi)容一樣多。統(tǒng)一使用Points對界面元素的大小進(jìn)行描述,可以避免分辨率對編程思維的迷惑,在對普屏和Retina屏設(shè)備開發(fā)應(yīng)用程序時,進(jìn)行描述的界面元素的大小是一樣的,系統(tǒng)發(fā)現(xiàn)是視網(wǎng)膜屏幕的設(shè)備時,就使用4倍像素渲染,因此就不會在不同設(shè)備上出現(xiàn)文字圖標(biāo)偏大、偏小、不清晰等影響閱讀的現(xiàn)象發(fā)生。
<ignore_js_op>
?
↑?iOS 7系統(tǒng)(手機(jī)用)里面,一個圖標(biāo)使用60*60 Points,在普通屏幕上顯示為60*60 像素,在視網(wǎng)膜上顯示為120*120像素
在蘋果的定義里面,1個3.5寸的iPhone所含的Points數(shù)量為320*480,4寸iPhone的Points數(shù)量為320*568,1個圖標(biāo)為60*60 points,在非視網(wǎng)膜屏幕上,1個圖標(biāo)顯示為60*60 像素,在視網(wǎng)膜上則顯示為120*120像素。如果在開發(fā)iPhone程序界面的時候,增加Points數(shù)量,那么顯示的內(nèi)容就會增多。
<ignore_js_op>
?
↑微軟最新的Surface 3 Pro,使用原始分辨率,也就是默認(rèn)的96DPI,雖然可以顯示很多東西,但看不清字!
在Window 系統(tǒng)中,系統(tǒng)使用就是DPI(每英寸像素)來定義文字、圖標(biāo)等元素的。因此,在一定的尺寸下,屏幕分辨率越高,真實(shí)DPI 就會越高,所以顯示的文字圖標(biāo)及內(nèi)容越小(Window默認(rèn)為96DPI)。最后我們就看到螞蟻爬的字。所以蘋果可將分辨率提升四倍,但顯示文字、圖標(biāo)并沒有縮小或看不,因?yàn)樘O果用絕對值Points點(diǎn)來定義元素的,非視網(wǎng)膜屏1個Points就表示1個像素,視網(wǎng)膜上,1個Points就表示4個像素。當(dāng)然屏幕上顯示的內(nèi)容并未增加。
我們來看下蘋果為不同尺寸iPhone 所定義Points的數(shù)量。iPhone 1/3G/3GS/4/4S Points的數(shù)量為480*320,iPhone 5/5C/5S為568*320,iPhone 6為667*375,iPhone 6 Plus為736*414。開發(fā)者在開發(fā)應(yīng)用程序時就是基于這個絕對值Points的數(shù)量,而不是基于960*640,1136*640,1344*750,1920*1080等屏幕分辨率。原因是不同分辨率對程序開發(fā)員會造成迷惑,采用絕對值Points點(diǎn)絕不會出現(xiàn)微軟那樣的文字縮小或放大的現(xiàn)象;二是我們電腦屏幕并不是視網(wǎng)膜級別的,開發(fā)者不好干活;三是把四個像素當(dāng)一個像素操作是非常不精確的…
<ignore_js_op>
iPhone屏幕增加后,可視面積及屏幕顯示內(nèi)容的變化
根據(jù)以上表格,也就是說iPhone 5比前代3.5寸屏的iPhone可顯示內(nèi)容增加了18.3%,iPhone 6又比iPhone 5可顯示內(nèi)容增加了37.6%(面積也是增大37.6%),iPhone 6 Plus則比iPhone 5顯示內(nèi)容增加了67.6%(iPhone 6 Plus屏幕的面積比iPhone 5增加了89.1%,稍微解釋下,蘋果在6 Plus上是以3倍像素渲染的,所以很多朋友都預(yù)測iPhone 6的分辨率為2208*1242,因?yàn)?920/736 又不是整數(shù),所以蘋果先放大3倍像素渲染,然后縮放到1920*1080的屏幕上,因此增加的可視面積和屏幕顯示內(nèi)容不成正比)。到這里,我想小伙伴應(yīng)該都明白了,蘋果不僅僅是把屏幕放大了,而是真真實(shí)實(shí)讓屏幕的顯示內(nèi)容變多了,這才是蘋果口中的豈止而大!
<ignore_js_op>
?
↑不同尺寸的iPhone 為其開發(fā)應(yīng)用程序所使用的原始分辨率
小伙伴們可能已經(jīng)看過來新浪科技對iPhone 6的截圖,我們把截圖保存到你的4寸屏手機(jī)看看,是不是發(fā)現(xiàn)文字和圖標(biāo)變得好小,放大到和原系統(tǒng)一樣大小時,圖片裝不下了。
<ignore_js_op>
?
↑iPhone 6的截屏在iPhone 5上顯示時,發(fā)現(xiàn)文字和圖標(biāo)變得好小(蘋果iPhone 6界面的Points點(diǎn)數(shù)量增加了38%)
<ignore_js_op>
?
↑再來對比下,小米手機(jī)4(5寸屏幕,分辨率1920*1080)主屏幕截圖和步步高Xplay X3s(6寸大屏,分辨率為2560*1440)主屏截圖在iPhone 5上顯示(4寸超小屏,分辨率1136*640),圖片不僅完全裝下,而且每個字都很清晰、完全可讀啊!
所以,蘋果采用大屏,不僅增加了可視面積,而且真真切切增加了屏幕的可視內(nèi)容,其應(yīng)用程序也都是重新開發(fā)了,并沒有簡單粗暴將過去的應(yīng)用程序放大到4.7寸或者5.5寸的屏幕上(新浪科技有提到,未優(yōu)化的應(yīng)用會發(fā)虛)。而Android采用大屏幕高分辨率,就是簡單的放大文字、圖標(biāo),拉伸界面而已,這樣的結(jié)果就是,哪怕是6寸2560*1440的屏幕顯示的內(nèi)容多少也和4寸的iPhone 5沒有區(qū)別。
小結(jié)下:
相似三角形的面積之比等于邊長的平方比(屏幕尺寸用斜對角線表示),因此屏幕的尺寸越大,那么可視面積自然就越大,比如一塊4.7寸的屏幕要比4寸的屏幕大38%,6寸要大125%...,但過去,我們并沒在更大屏幕和更高分辨率的Android手機(jī)上看到比小屏幕手機(jī)如4寸iPhone 5上多多少內(nèi)容,甚至基本上是完全相同,因?yàn)檫@些手機(jī)只是簡單把文字圖標(biāo)等比放大而已,應(yīng)用程序開發(fā)商也沒有做任何優(yōu)化,并不能讓我們接收更多消息,提高工作效率,這也是市面上這些大屏幕的最大缺憾,真的只是大了而已。
而蘋果說的是“比更大還更大”(現(xiàn)在換了“豈止而大”),是的,蘋果的大屏就是如此,大了,屏幕上含的Points數(shù)量變多了,顯示的內(nèi)容增加了,這才是真的大了!顯示內(nèi)容增多可讓我們接收更多的消息,可以讓我們處理更多的文字圖片,可以讓我們更具效率,更加盡興!這才是大屏的意義,所以這才是我們真正該買的大屏手機(jī)!
最后,我最喜歡庫克每次在發(fā)布會上說的,“Remember,Only Apple Can Do This!” 記住,只有蘋果才能做得到!只有蘋果才敢讓開發(fā)者為其大屏幕重新開發(fā)應(yīng)用程序,真正不浪費(fèi)半點(diǎn)屏幕空間。
最后,我們看下“比更大還更大”的iPhone 6在顯示內(nèi)容上面的變化。
<ignore_js_op>
附上:小米手機(jī)4主屏幕截圖和步步高Xplay X3s主屏截圖,小伙伴們可以自己對比去
<ignore_js_op>
?
<ignore_js_op>
?
轉(zhuǎn)載于:https://www.cnblogs.com/wfwenchao/articles/4568958.html
總結(jié)
- 上一篇: 用c#开发微信 (16) 微活动 2 刮
- 下一篇: (王道408考研操作系统)第三章内存管理