回覆列表
  • 1 # IT極客老兵

    安卓系統的架構圖如下:

    Android系統本身是一套軟體堆疊(或稱為軟體層疊架構),它包含三部分:作業系統、中介軟體、應用程式。我們透過AndroidSDK所提供的工具和API來開發各種應用。

    Android RunTime(執行時環境)包括(core Libraries)核心庫和Dalvik虛擬機器兩部分:

    Dalvik虛擬機器:

    類似於JVM,是Google公司自己設計用於Android平臺的虛擬機器,它可以簡單的完成程序隔離和執行緒管理,並且可以提高記憶體的使用效率,Dalvik虛擬機器執行副檔名為.dex的Dalvik可執行檔案,該格式檔案針對小記憶體使用做了最佳化。

    看到這裡你應該明白了,因為Android系統使用了類似JVM的虛擬機器,所以我們上層開發的安卓APP必須使用Java語言,不能夠使用C語言編寫。

  • 2 # CoreCode

    android其實是基於linux核心的,但在LINUX平臺上,適合的語言很多C C++ JAVA 等,C開發中大型圖形介面是個問題,而且不是面對物件的語言。

    PYTHON RUBY因為執行機制的關係(解釋性),執行效率不太適合作為首選開發平臺那麼就剩JAVA和C++可以選了。

    相比C++來說,JAVA雖然執行效率不如C++,但開發效率更高,而且JAVA發展到今天,第三方庫十分龐大,社群也非常活躍,可以說,JAVA是除了C++/C之外,全球最流行的語言。

    android剛誕生的時候,其目的肯定是要降低開發門檻,吸引更多開發者加入,從而才能帶動android的進一步普及。而JAVA的入門比C++快,在跨平臺開發上比C++更容易,龐大的JAVA社群又可以提供足夠的第三方開發資源。雖然執行效率上有所欠缺,但也比其他語言,比python這些強。

    所以,JAVA成為了android平臺的首選開發語言,也可以說,JAVA是一個很均衡的選擇,在效能和門檻之間平衡的一個選擇。

    當然 ,畢竟是linux核心的系統,android的sdk除了提供JAVA版以外,也有C++版的,也還是可以用C/C++開發android軟體。

  • 中秋節和大豐收的關聯?
  • 結婚後丈夫不願意和自己住在一起,該怎麼辦?