回覆列表
-
1 # 糾結名字不知道怎麼起
-
2 # 河北省比利
谷歌選java,是因為其可移植性和開源性,這兩大優點對於安卓的推廣有很大意義。效率低的問題,一種解決辦法是生成本地機器碼,縮短流程;另一種解決辦法是真的動刀,複雜但效果更好,就是有針對性的優化jvm,提高機器碼效率。比如針對手機來專門優化jvm,忽略對其他裝置的優化(因為使用者少,優化的總收益就低)
-
3 # 果醬實驗室
首先說結論 肯定會
android 的app是執行在一個虛擬機器內,中間就多了一層的呼叫。
另外java沒有直接編譯成二進位制,而是java byte code,需要再經過jit才能執行,這又是一比開銷。
這兩方面看 c必然快一些。
但是app開發如果也用c的話,那麼app的數量和品質看 肯定會差很多,畢竟c並不是一門容易使用的語言。如果一個系統飛快但是沒有app的話 你還會用麼
-
4 # 彼岸的天地
會的。
但是計算量小的應用沒有必要,這就像是10ms和100ms的差距,人也基本感覺不出來,而且JAVA層封裝的方法多,寫起來也比C更快。
計算量大的很多都會用C來實現計算部分的程式碼,然後通過jni呼叫native程式碼。
JAVA和C效率差距大概可以用10倍左右來算。
而且現在的應用載入一個原聲頁面雖然說表層是JAVA寫的,但呼叫的大多數都是底層的native程式碼。
當然你也可以用純C來寫,但是這就沒有多少現成的介面可用了,即使是一個按鈕也要自己來通過egl繪製,大大增加了開發時間。估計除了大公司以外,在流行快速開發的大環境下,沒有多少公司玩得起。
-
5 # ACME63610374577
不會....
程式優化通常就是幾個指標的取捨....
通常是 速度 空間 相容性...
蘋果可以完全不考慮相容性...
而安卓的硬傷就是保證相容性...
於是只能犧牲空間換速度....
這是為啥安卓記憶體越來越大的原因...
之所以使用Java也是最大限度保證相容性...
我不是搞程式設計,為什麼一直邀請我,(^_^;)
不過還是要說一下,估計結果是一樣的。安卓系統執行不去蘋果,不是因為語言問題,而是安卓系統流氓軟體太多,都想多佔資源,再多的資源也不夠用的。另外,安卓版本太多,不好控制,都自己弄自己的