首頁>科技>

Android簡介

Android是一種基於Linux的自由及開放原始碼的作業系統,主要使用於移動裝置,如智慧手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android作業系統最初由AndyRubin開發,主要支援手機。

Android系統架構

Android的系統架構和其作業系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程式層、應用程式框架層、系統執行庫層和Linux核心層。

1、應用程式

Android會同一系列核心應用程式包一起釋出,該應用程式包包括客戶端,SMS短訊息程式,日曆,地圖,瀏覽器,聯絡人管理程式等。所有的應用程式都是使用JAVA語言編寫的。

2、應用程式框架

開發人員也可以完全訪問核心應用程式所使用的API框架。該應用程式的架構設計簡化了元件的重用;任何一個應用程式都可以釋出它的功能塊並且任何其它的應用程式都可以使用其所釋出的功能塊(不過得遵循框架的安全性)。同樣,該應用程式重用機制也使使用者可以方便的替換程式元件。

隱藏在每個應用後面的是一系列的服務和系統,其中包括;

豐富而又可擴充套件的檢視(Views),可以用來構建應用程式,它包括列表(Lists),網格(Grids),文字框(Textboxes),按鈕(Buttons),甚至可嵌入的web瀏覽器。

內容提供器(ContentProviders)使得應用程式可以訪問另一個應用程式的資料(如聯絡人資料庫),或者共享它們自己的資料

資源管理器(ResourceManager)提供非程式碼資源的訪問,如本地字串,圖形,和佈局檔案(Layoutfiles)。

通知管理器(NotificationManager)使得應用程式可以在狀態列中顯示自定義的提示資訊。

活動管理器(ActivityManager)用來管理應用程式生命週期並提供常用的導航回退功能。

3、系統執行庫

Android包含一些C/C++庫,這些庫能被Android系統中不同的元件使用。它們通過Android應用程式框架為開發者提供服務。以下是一些核心庫:

*系統C庫-一個從BSD繼承來的標準C系統函式庫Libc),它是專門為基於Embeddedlinux的裝置定製的。

*媒體庫-基於PacketVideoOpenCORE;該庫支援多種常用的音訊、視訊格式回放和錄製,同時支援靜態影象檔案。編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。

*SurfaceManager-對顯示子系統的管理,並且為多個應用程式提供了2D和3D圖層的無縫融合。

*LibWebCore-一個最新的web瀏覽器引擎用,支援Android瀏覽器和一個可嵌入的web檢視。

4、Linux核心

Android的核心繫統服務依賴於Linux2.6核心,如安全性,記憶體管理,程序管理,網路協議棧和驅動模型。Linux核心也同時作為硬體和軟體棧之間的抽象層。

Android的優勢

開放性

在優勢方面,Android平臺首先就是其開放性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著使用者和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。

開放性對於Android的發展而言,有利於積累人氣,這裡的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟體資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

豐富的硬體

這一點還是與Android平臺的開放性相關,由於Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到資料同步、甚至軟體的相容,如同從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟體帶到iPhone上使用、聯絡人等資料更是可以方便地轉移。

方便開發

Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別緻的軟體會誕生。但也有其兩面性,血腥、暴力、情色方面的程式和遊戲如何控制正是留給Android難題之一。

目前國內Android開發現狀

目前國內的Android開發還是主要以應用開發為主,主要分成3類:為企業開發應用、開發通用應用(放到Android Market或者其他App Market銷售)以及遊戲開發(放到Android Market或者其他App Market銷售)。第一類開發者一般身處規模較大的公司,這些公司主要為自有品牌或者其他品牌設計手機或者平板電腦的總體方案。除了根據需求對系統進行定製外,更多的工作在於為這些系統編寫定製的應用。第二類開發者,一般處於創業型公司或者是獨立開發者,他們的盈利方式主要是2種:為國外公司進行外包開發,或者通過Google的移動廣告(AdMob)通過廣告點選分成。而理論上的通過付費下載的形式來盈利的,現在國內鮮見成功者。第三類開發者,目前和第二類開發者類似。下圖是開發者提交的應用和遊戲的數目所佔的比例圖,從中也可以看出應用開發數目遠超遊戲開發。

Android軟體工程師薪資

隨著 Android 平臺的擴張,國內各個地區都引發了 Android 人才荒。2013年移動開發人才需求40萬,未來人才需求缺口將達百萬。但符合條件的 Android 工程師屈指可數,企業高薪招聘理想工程師的難度可想而知。現西安卓新思創移動網際網路教育產業聯盟的小編以柱形圖為大家展示普通軟體工程師與 Android 軟體工程師的薪資區別。

Android熱招職位

據資料統計顯示,目前熱招的Android技術相關崗位約有4882個,而一個月內的有效崗位量在3298個。主要熱招職位包括Android開發工程師、Android軟體工程師、Android應用開發工程師、系統驅動工程師、Android手機遊戲開發、Android系統軟體開發、Android程式設計師、Android遊戲應用版本管理、人機互動分析工程師、Android中間層開發工程師等。

Android發展前景

現在的手機市場幾乎是安卓與iOS的天下,二者大有平分天下的趨勢。不過總體上來說安卓佔有的市場份額還是大於iOS的。在2011年初就已經有資料顯示安卓已經躍居全球最受歡迎的智慧手機平臺。安卓能有這樣的成就幾乎都歸功於它的優勢。

首先安卓的開源性就對她的人氣起到很大的積累作用,不論是廠商還是消費者都會對他寵愛有加,這會讓它的使用範圍變得廣泛。又因為使用範圍的廣泛,它就會獲得豐富的軟體資源,也正是它的開源性讓廠商之間的競爭愈加激烈,這樣消費者就會以較低的價位購得自己心儀的手機。而且使用安卓系統的智慧手機品牌不在少數,這樣機型就會更豐富,相較於iOS機型的單一會更有競爭力。

又因為安卓使用的廣泛,做安卓開發的人員也會多於iOS,這也有助於安卓系統的完善。還有就是現在電腦變小變薄已經是一個不能阻擋的驅使了,就像以前的臺式電腦的市場份額被膝上型電腦取代一樣,所以安卓系統使用在手機上的同時也在平板電腦市場急速擴張,這樣的擴張會讓安卓得到更大的發展。

安卓手機相對於IPhone手機來說走的是福斯路線,就現在來說在價格上有很大的優勢。但是隨著經濟的發展,覺得負擔一部iPhone手機有難度的消費者會越來越少,所以安卓並不能一直在價格上保有優勢。許多用過iPhone手機的消費者會有這樣的感覺:安卓手機使用久了會有明顯的卡頓而iPhone手機在這方面明顯做的比安卓手機好。所以如果安卓可以在保持原有的價格優勢的基礎上,做到更多的人性化的改進、完善,我想這對於它侵佔iOS的市場份額會有更大的助力。

總而言之,安卓的發展前景還是十分良好的,不僅有較大的市場份額、較多的消費者,還有較大的開發團體。但是如果它在人性化設計方面沒有較大的改進,慢慢地也會被市場淘汰,而且如果安卓自身的系統不能不斷改進,像它取代塞班一樣被別的系統取代的那一天就會提早到來。

5G時代萬物互聯,Android如何突破重圍

5G相對於4G,不僅僅是頻寬提高了,更重要的是可接入的裝置型別大大增加了。5G的高可靠性、低延時和低功耗正是為了物聯網真正核心需求而演進的。目前市場上的AR應用不廣泛,主要的一個原因就是技術達不到應用場景需求,不論是4G和Wi-Fi,都達不到高清實時視訊的傳輸頻寬和延遲指標。而5G就可以解決這個問題。因此,5G對於Android來說是一個機遇,但同時更是一個挑戰。因為5G會帶來一個萬物互聯的時代,這個時代中Android該如何找到自己的位置呢?

物聯網時代,會有無數新的可穿戴裝置、智慧家電接入網際網路,會有很多路面、街邊的微型裝置接入網際網路。這些裝置的特點是,體積小、計算能力弱、互動場景少,我們前面說過Android在這樣的系統上其實表現並不好,究其根本原因,主要是Android的架構太重,面向手機的LinuxKernel和虛擬機器對效能和功耗的要求太高。即使是AndroidIOT做了一定程度的優化,仍然滿足不了絕大多數應用場景。而Google推出的更輕量級的OS——Fuchsia,採用了RTOS微核心Magenta和更簡潔的UI引擎Flutter,讓人不禁猜測這個會不會是Google為IOT準備的後手。當然由於並沒有看到Fuchsia的實際應用,所以不太好預測它的前景如何。目前為止,Google所開發的系統有Android、ChromeOS、Fuchsia,一個如日中天,一個差強人意,一個神祕兮兮。未來這三個系統是彼此融合還是互相取代,我們還需要繼續等待,不過ChromeOS上可以執行AndroidAPK,至少我們已經看到一些跡象了。

不過,除了在IOT裝置上跑Android系統,Android其實還有另外一種選擇,就是作為IOT裝置的閘道器而存在,類似於當前智慧手錶、手環跟手機之間的連線。只是未來可接入的裝置種類和數量都可能大大增加,採集的資料量以及需要的計算量也會大大增加。有了資料,手機上就可以進行更多的AI計算,或者利用這些資料和AR技術,都可以幫助使用者進一步提升使用者體驗。比如,我在公園跑步,監測身體資訊的裝置通知手機,我累了。手機中的智慧助手自動規劃一條更近更省力的路徑,通過AR眼鏡展示在我的眼前,或者是通過語音互動的方式,通知我前方岔路左轉。這就是我前面提到的,AR和AI本質上只是技術,單獨並不能起到什麼作用,但是如果它們跟其他的技術在一起起了化學反應,就可能會爆發出一系列的爆炸性的突破。當然,要做到這一點,Android也還是有很多不足的,比如功耗問題等,相信Google會在這些方面繼續優化的。

10年來Android經歷了追趕和超越,已經統治了智慧手機領域,但是同時它也開始遭遇了瓶頸,在汽車等領域中遇到挑戰。希望Android能夠抓住機遇,戰勝困難,突破瓶頸,真正成為福斯生活中隨處可見、不可或缺的一部分吧

那麼在這樣的大時代下,我們應該學會哪些技能來應對呢?

小程式,是大企業的標誌也是,每個大企業招聘程式設計師必備技能!

技能圖放下面了,需要的自行領取!由於圖片清晰度問題,沒有完全展開!

NDK音視訊

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 微軟商城上架Windows檔案管理器:Files-UWP體驗