Android有望結束碎片化
對於Android開發者來說,碎片化問題經常令他們痛苦不堪。iOS開發者只需要面對蘋果一家廠商的有限的幾種機型,並且這些機型的軟硬體全部掌控在蘋果手裡,而Android開發者就沒那麼幸運了,他們要面對的各種廠商製造的裝置,這些裝置可能有不一樣的螢幕尺寸,不一樣的晶片功能,搭載不一樣版本的作業系統等等。從Android主頁上的最新統計資料可以看到,Android 4.1-4.3目前還佔有超過一半的市場,最新的Android 4.4是20%左右,剩下的則由4.0、2.3和2.2等更老的系統共同佔據。
GIGAOM上的一篇博文提到,開發一個Android應用程式往往意味著:
- 為了相容更多的舊機器,你被迫使用舊版的SDK來適配儘可能多的舊裝置;
- 大量的廠商製造了各種各樣螢幕尺寸的手機,它們搭載的作業系統版本有新有舊,底層硬體的能力也不盡相同。總之各種各樣你能想到的或想不到的;
- 你的應用可能受眾有限,因為有些應用僅限某些裝置訪問。
過去真是如此,但這一切或許正在改變。Google也早就已經意識到了這個問題,但似乎他們解決這個問題的方法不是像蘋果那樣掌控硬體,而是嘗試走另外一條路。
Google早在2012年就引入了Play Service,這個元件會在後臺下載其他一系列元件,而這些元件是應用賴以執行的核心。手機搭載的作業系統版本不一?不要緊,因為它們都會強制安裝最新的Play Service。這篇博文中也提到:
Play Serice 5.0已經推送給包括從Android 2.3到Android 4.4的Android裝置。Google正在逐漸把一些Android核心功能、系統API剝離出系統,並加入到Play Service中,這意味著安裝有最新Play Service的裝置,應用就能執行自如。
這看起來確實是解決碎片化的一個辦法,但如面對如此多的螢幕尺寸,這個方法似乎無能為力。看看Android開發者Russell Ivanovic如何解決這個問題。
首先他認為,如果你想做得很完美,那麼Google提供的開發工具足以幫你適配每一種螢幕,只是你需要為每種螢幕建立佈局檔案。
另外,他們建議的做法是:使用dp來定義佈局(dp是Android中一種虛擬的畫素單位,在執行的時候系統會根據螢幕密度把它擴充套件成真實畫素),這樣,所有的螢幕都化成有限幾種標準dpi的螢幕,你只需要為不同密度的螢幕準備不同資原始檔就可以了。你唯一需要考慮的是裝置的按鍵是實體的還是在螢幕上的,因為這會影響螢幕實際可用尺寸。
Android官網上也有一篇文章給開發者介紹如何支援多種尺寸螢幕,仔細閱讀這篇文章,做好這項工作應該不難。
可以看得出Google也覺得碎片化問題影響了Android的發展,他們也正在努力解決,但效果如何,讓我們拭目以待。
相關文章
- 碎片化學習Java(二十二)Java break結束當前迴圈Java
- Google:Android正在走出碎片化泥沼GoAndroid
- Android的發展和碎片化Android
- 六張圖看懂Android碎片化問題Android
- 大廠帶頭,遊戲圈有望結束996的傳統嗎?遊戲996
- 2014年Android碎片化報告Android
- android:碎片的概念Android
- android: 碎片的demoAndroid
- Android 碎片(Fragment)講解AndroidFragment
- android:碎片的使用方式Android
- iResearch:63%的開發者關注Android的碎片化問題Android
- MysqL碎片整理優化MySql優化
- Android開發中如何結束所有的activityAndroid
- 平臺碎片化 Android應用開發該如何取捨?Android
- android:碎片的生命週期Android
- Vite打包碎片化,如何化解?Vite
- 碎片化時間高效利用
- Android 聯合創始人:版本碎片化被過於誇大Android
- [Android]Fragment、Activity比較——Android碎片介紹AndroidFragment
- 碎片化的時代,如何學習
- 碎片化學習前端知識前端
- 碎片化學習Java大綱Java
- 碎片資料收集利器-結構化動態表單設計思路
- Android : 執行緒的結束,掛起和恢復(上)Android執行緒
- Android : 執行緒的結束,掛起和恢復(下)Android執行緒
- golang如何結束goroutineGolang
- 結束程式的命令
- SQL之結束篇SQL
- 碎片化學習Java(十一)-- Java if案例Java
- Android 3.0開始引入fragments(碎片、片段)類AndroidFragment
- “社會化網路時代”的結束,“社會化圈子時代”的興起
- Android效能優化總結Android優化
- js jquery 結束迴圈JSjQuery
- 碎片化學習Java(二)-- Java註釋Java
- OpenSignal:2014年全球Android碎片化報告 Android裝置數量達1.9萬款Android
- android: 動態載入碎片佈局的技巧Android
- 最優化之無約束優化優化
- 碎片化學習Java(七)-- Java常量的使用Java