Android 為什麼要用 Java 開發軟件?Java 的運行效率不是很低嗎? | 知乎問答精選

 

A-A+

Android 為什麼要用 Java 開發軟件?Java 的運行效率不是很低嗎?

2019年08月12日 GOOGLE, 知乎問答精選 暫無評論 閱讀 5 ℃ 次

【Rain的回答(9票)】:

1. Java運行效率並不算低。

2. Android裡運行的其實不是Java程序,只是語法是Java,虛擬機是Goolge自己的,做了些優化。

3. 現在的智能機,硬件已經相當強悍了,運行效率已經不如開發效率來得重要。熟悉Java語法的人相對很多,Android這樣做也是為了吸引大批草根程序員。

4. 有些非常注重性能,或比較底層的程序,例如寫視頻解碼器,通常採用NDK開發,用C/C++來寫。

【曹文斌的回答(2票)】:

Android中用的Dalvik JVM是一種基於寄存器的虛擬機,因此運行效率高於常見的基於內存的JVM,而且推薦使用帶JAVA硬件加速的芯片,因此在Android上跑JAVA效率並沒有明顯的降低,但也因此降低了Dalvik JVM的可移植性,不過由於只為Android使用,所以也就無關緊要了。

當然,採用JAVA語言最大的好處是減少應用開發人員的學習難度,以便開發大量的APP。這應該才是主要原因。

【張清田的回答(0票)】:

安全? 開發速度 Java開發者人多。入門容易。

你也可以用NDK開發

另一個原因可能是Google為了控制Android的分化。

【xLight的回答(0票)】:

java 現在的效率還可以(只要不大規模gc),

jvm裡面有很多空間換時間的機制, ?

我向來是不喜歡java的,耗資源no1

【Cundong的回答(0票)】:

如果不用Java的話,就又回到諾基亞時代了。

【楊陽的回答(0票)】:

android2.2 的dalvik 虛擬機已經加入JIT,性能已經有很大提高了。不過我認為未來的方向還是webOS,html5.

【羅立安的回答(0票)】:

開發,維護,擴展這些也都是成本

彙編語言的效率倒是高啊

【楊冠群的回答(0票)】:

在這個硬件氾濫的年代,手機平台已經能夠忽視java和C/C++/OC效率上的差異了,這樣java好的移植性以及易用性易學性就體現了出來,不過,做這樣的抉擇總歸是有所弊端的,可以比較下iphone和android機的配置,差的不是一個檔次,然而iphone的流暢度反而更好,這便是機制的問題了

【大鬍子眼鏡的回答(0票)】:

技術上,JAVA的語言規範,一整套由web向下的框架,分類齊全的API,JVM的靈活性和可重構性都是其他語言無法比擬的。

開發上,JAVA程序員數量很多,入門相對容易,發展潛力很大。

利益上,JAVA有相對穩定的聯盟關係(apache ,IBM ,SUN,oracle。。。),現在雖然聯盟內有些不夠朋友的,比如oracle,但是他們是相互依存,產品互補性很大。當然還有良好的開源社區環境。

【量子貓的回答(0票)】:

虛擬機跨平台。Java社區成熟,開發人員爆多。

【方圓的回答(0票)】:

現代JVM的效率不低.

【湯立的回答(0票)】:

策略吧,開發工具eclipse +adt 免費可定制,java 的problem solving 能力很強,上手容易

標籤:-Android -Java -Java-虛擬機(JVM) -Rain


相關資源:





給我留言