相關文章

11c1dd32e2bd02fd03d6c195318c295b Android 碎片化的爭論由來已久,從 Android 2.x 時代就已經開始出現,直到如今 Android L 現身,有人認為這是和 Android 繁榮休戚相關,也有人認為,開發者是在含淚在調整讓它適合各種設備。

圖片來源

說起來,人們口中的 Android 碎片化主要表現在 Android 品牌和機型眾多,Android 版本眾多和 Android 設備的尺寸和解析度眾多。奇怪的是,討論 Android 碎片化的往往不是默默寫程式碼做調整的開發者們,這一次,一個開發者坐不住了,親自來談這個在網路流傳多年的迷思,Android 設備的螢幕尺寸也並不是什麼大的障礙。

出品過 Pocket Casts 等遊戲的開發商 Shifty Jelly 的聯合創始人 Russel Ivanovic 在他的部落客裡分享了自己的看法,事情的由來要從一張流傳甚廣的圖片說起:

上圖每一個方框代表一種 Android 設備的螢幕,顏色越深,這種尺寸的螢幕也就越多。也就是說,Android 開發者理論上需要調整產品去符合上圖中的各種螢幕。對於我們大多數非開發者而言,看到上圖不免要深深地同情起 Android 開發者,默默地拿出錢包請他們吃飯。但是 Russel Ivanovic 表示,別矯情了,他們過得挺好:

「說實話,那不是很難,(為 Android 設備開發app)並沒有大多數人想像的那樣讓人頭疼。Google 早已經給了我們介面視圖佈局工具,你可以自訂一種或多種介面視圖,以適應不同尺寸的設備。如果你還想更精益求精,那麼你還可以只保留一種程式庫而盡可能多的調試更多的視圖。這些都是可延伸標記語言(XML),並不存在於你的程式碼之中。如果你是一個 iOS 開發者,它就如同 iOS 中的XIB 文件。也有一部分人還沒意識到,Android 已經標準化設備解析度很長一段時間了。」

去年的 Google I/O 大會上,Google 也發佈了開發者工具 Android Studio,使工具的開發模式更加的豐富便捷,提供多尺寸預覽,側欄查看顏色、即時效果預覽等功能。


雖然也有資深開發者認為只有沒寫過程式碼的人才會相信 Android Studio 真的能好用,但是有總比沒有好吧。
Russel Ivanovic 挑選了最為常見的 10 款 Android 設備,運行 Pocket Casts 來展現遊戲在不同 Android 設備的介面差異,這幾款手機的顯示幕解析度分別為:

 

  • 720 x 1280
  • 768 x 1280
  • 800 x 1280
  • 1080 x 1920
  • 1440 x 2560

 

據此,Russel Ivanovic 發現,開發者為不同的 Android 設備和不同螢幕進行匹配比想像中簡單很多。不過這也僅限於 Android 手機,Android 平板並未計算在內。

對於 Russel Ivanovic 和他的 Shifty Jelly 來說,適當捨棄也是對抗 Android 碎片化的秘密武器。

以最新的 Android 版本占有率統計來看,Android 4.0 以下的占有率已經不及 15% 了,因此,Russel Ivanovic 認為,Android 4.0 以上版本的前景明顯更好,因為 Android 非常巨大的市場占有率,他們完全可以忽略掉還在使用 Android 2.3 的用戶,轉而聚焦 Android 4.0 以上的用戶。這種情況也發生在 iOS 上,Russel Ivanovic 支援 iOS 7 及以上系統,老版本遭到了無情的捨棄。即使放棄這部分較低 Android 版本的使用者,Android 的用戶基數還是大於 iOS。

對於 Russel Ivanovic 所說的 Android 在標準化解析度的說法,從這一兩年的新機發佈來看也是所言非虛的,中低階 720p,高階的 1080p 以及 2K 螢幕相對統一許多。至於老舊的 Android 2.x 版本,為了效率的開發者也就只能放棄了。

所以,這次開發者現身說法,螢幕尺寸、螢幕分辨率的碎片化的問題在 Russel Ivanovic 看來並不是什麼大不了的事。

延伸閱讀:

圖解 Android 系統破碎化生態,混亂的軟硬體究竟是禍是福?

10 個關於 Android L 的新功能改進快速檢閱!

三星樂於去傷害 Android , Android 愈弱意味三星愈強

使用 Facebook 留言

shiorifan
1.  shiorifan (發表於 2014年7月11日 15:13)
其實Google對抗碎片化的真正秘密武器是:
1.4.0推出的兩年間完全不動大版號
2.算版本分佈率的時候把4.x都算在一起
三十二朔月
2.  三十二朔月 (發表於 2014年7月11日 15:59)
螢幕碎片化只是冰山一角
重點是手機規格也都碎片化

光是自走銅鑼針對不同解析度做符石校正就快讓作者忙翻了
還要針對平板做螢幕方向偵測
扣除掉螢幕大小
更不用說某些手機記憶體不足
複雜度跟步數要改低
某些手機CPU不夠力無法暫停遊戲
主角技就得跳回桌面運算

這些只是開發
後續的小BUG還得不斷地搜集每一個機型的錯誤回報做修正

Google以為只要不動大版本號
這一切就會自然煙消雲散似的
鴕鳥心態實在不可取。╮(╯_╰)╭

啊......我忘了,現在Google都是兼職工讀生在管事╯-__-)╯ ╩╩
Jeffrey Cheng
4.  Jeffrey Cheng (發表於 2014年7月11日 18:32)
二樓講得很寫實~ <( ̄︶ ̄)>

常常很多開發商以為自己做了一個Android App可以擁抱很大的市場,但是若扣掉跑不動的型號,或是跑出一對怪問題的型號,真正抱到的市場並沒有iOS的大。

講回螢幕,就算有9-Patch的圖,也只是解決了UI的一層問題而已。你要每個圖像都以完美的滿屏來呈現,面對那麼多不同的aspect rato,也只有慢慢"兔"的份~
Hiro
7.  Hiro (發表於 2014年7月12日 00:06)
"螢幕碎片化" 確實根本不是問題。
android 的各種 layout 的彈性其實非常的大。
有好好的 plan 的話,自已也是認為如吃飯一樣簡單。
Hiro
8.  Hiro (發表於 2014年7月12日 00:14)
至於 OS 的碎片化...
改底層,做自以為 smart 的事情的某幾間公司。
(某銀河系列問題多,每代都不同。某日出國的各廠商的也很多問題)
之前做遊戲碰 NDK + openGL。build min/max 改了之後就無法執行。
比如說某 wxlkman 大廠的裝置會音效延遲。
這個真的需要讓那幾間(消音)比較快。
李仁維
1人給推

9.  李仁維 (發表於 2014年7月14日 17:12)
碎片化根本就是果粉在喊,不同大小的螢幕和解析度明明就是好處,可以滿足更多樣消費者的需求。
有人想看影片、有人想單手操作;有人閱讀文件在意螢幕清晰、有人只是拿來傳訊息,就可以把解析度這一大成本省下。
果粉只能強迫自己迎合iPhone的規格而已,還得說服自己手上這支是最好用的。

發表回應

謹慎發言,尊重彼此。按此展開留言規則