Android是一種基于Linux的自由及開放源代碼的移動操作系統(tǒng),而Linux是C與C++的天下,所以Android的底層是支持C/C++的。所以Android平臺上開發(fā)所采用的編程語言主要兩種方式:
1、基于ADK的Java編程
目前Android APP開發(fā)主流語言就是Java語言,Java語言最大的特性就是提高了軟件的交互可能性,可以說安卓手機幾乎所有應用程序都是利用Java語言來進行編寫的。使用Java語言開發(fā)的軟件的程序庫、數據庫、運行庫都是Android手機軟件的一大特點。Java語言自身的優(yōu)點也有很多,所以安卓應用軟件的開發(fā)應用到了Java的核心類的知識量,這也讓使用Java語言開發(fā)的安卓軟件具備優(yōu)勢。
雖然使用Java開發(fā)APP很方便,但也容易拉低APP質量。雖說安卓系統(tǒng)利用虛擬機運行Java,比非智能平臺的JVM效率高很多,但始終沒法和NDK相比,所以安卓的APP速度慢,很大程度上是Java的原因。Java自帶內存回收機制,所以開發(fā)者使用Java開發(fā)APP時往往不注意控制內存泄漏(特別是一些小軟件),當其進程超過虛擬機分配的閥值后,就會被系統(tǒng)殺掉釋放內存,這樣一來就有可能造成APP的崩潰、系統(tǒng)的假死等情況。
2、基于NDK的C編程
C語言是一種結構化語言。它層次清晰,便于按模塊化方法安排程序,易于調試和保護。C語言的體現(xiàn)才能和處理才能極強。它不只具有豐盛的運算符和數據類型,便于完成各類雜亂的數據結構。C語言是當今最盛行的程序設計語言之一,它的功用豐盛、表達力強、運用活絡便當、運用面廣、政策程序高、可植入性好,既有高級語言的特征,又有低級語言的許多特征,適宜作為系統(tǒng)描繪語言,既能夠用來編寫系統(tǒng)軟件,也能夠用來編寫運用軟件。
除了Java語言和C語言外,其實Google于2015年推出全新的Android開發(fā)語言Sky,目的是為了提高APP運行速度和響應速度。Sky并不依賴于平臺,其代碼可以運行再Android、iOS,以及任何集成了Dart虛擬機的平臺上。
當然Sky語言究竟能否取代Java語言,成為Android應用開發(fā)主流語言還要拭目以待。目前Android開發(fā)主流的還是Java和C語言,如果你有Java或者C語言的基礎,那就可以進行Android APP的開發(fā)了。