中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Android將允許純C/C++開發(fā)應(yīng)用
對于Android,長期以來,我一直有兩件事搞不懂,
一個是為什么Android要選用Java。對于嵌入式開發(fā),CPU和內(nèi)存都很寶貴,居然還使用Java。
一個是為什么Android的開發(fā)站點(diǎn)要被墻。這只是一個技術(shù)網(wǎng)站啊。

最近,在一個Android開發(fā)人員的Blog上證實(shí)了在NDK r5使用C/C++進(jìn)行開發(fā)。(以前,Android 對C/C++開發(fā)的支持僅限于用C/C++開發(fā)動態(tài)鏈接庫,然后在Java中以JNI的形式來調(diào)用)現(xiàn)在,你可以用純C/C++開發(fā)了(參看下面的程序代碼)。還有一段完整的代碼示例在這里(墻,還有XML的manifest,又見XML)??磥?,Google終于明白為什么使用Android的手機(jī)(如:Moto, 三星、索愛和HTC)的觸摸體驗(yàn)遠(yuǎn)遠(yuǎn)不及object C搞出來的iPhone。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 void android_main(struct android_app* state) {
// Make sure glue isn't stripped.
app_dummy();

// loop waiting for stuff to do.
while (1) {
// Read all pending events.
int ident;
int events;
struct android_poll_source* source;

// Read events and draw a frame of animation.
if ((ident = ALooper_pollAll(0, NULL, &events,
(void**)&source)) >= 0) {
// Process this event.
if (source != NULL) {
source->process(state, source);
}
}
// draw a frame of animation
bringTheAwesome();
}
}


我個人估計(jì)有兩個原因?yàn)槭裁碐oogle回頭支持C/C++了,
Google開始覺得自己整的JVM在性能上可以全面超越傳統(tǒng)JVM,并接近C/C++,現(xiàn)在發(fā)現(xiàn)搞不定了。
Google發(fā)現(xiàn)Java的程序員不像C/C++程序員那樣注重程序的性能和效率,開發(fā)App太耗CPU和內(nèi)存。

于是只好轉(zhuǎn)回支持C/C++。本來就是用C/C++寫出來的Android嘛,居然不能用C/C++而只能用Java,真是太侮辱C/C++了。最后,只希望Google并不是又整了一個C/C++版的Dalvik虛擬機(jī),不然就真是侮辱到極點(diǎn)了。

——— 更新 2011/01/24 ————

謝謝大家對這篇文章的評論,挺有意思的,歡迎討論,我把我的回復(fù)更新在下面。不一定對,僅供大家參考。


Java的學(xué)習(xí)成本低,開放性好,兼容性也高,我不否認(rèn)(但請大家也別否認(rèn)C/C++的效率要比Java要高。而C/C++的程序員在普遍上要比Java程序員更注意性能和效率)。這應(yīng)該是Andorid的一開始的定位,可見,Google關(guān)注的是程序員,而不是用戶?,F(xiàn)在轉(zhuǎn)回支持C/C++必然有他的原因,如果不是性能上的原因。那么就請大家分析一下別的原因。

Android本來就是用C/C++寫的,要跨平臺,首先是Android自己跨平臺。就像Linux一樣,跨平臺的首先是Linux,應(yīng)用開發(fā)人員只需要符合Linux的API就OK了。JVM帶來的便利只是無需重新編譯(就算是無需重新編譯,對于開發(fā)人員來說也要去那個平臺做測試的,因?yàn)椴煌钠脚_的JVM同樣是不一樣的)。在Native平臺上編譯的成本其實(shí)并不高,這個編譯過程完全可以在部署的時候自動化。

有人說,Java的開發(fā)成本比C/C++低,但這和語言沒有關(guān)系,這其實(shí)和封裝程度有關(guān)系。C/C++同樣可以封裝得很好。而且,C/C++的程序員比JAVA程序來說,天生就對內(nèi)存和性能要敏感的多。這更有利于在手機(jī)這樣資源不足的平臺上做開發(fā)。

尤其對于像手機(jī)這樣的時尚終端來說,在用戶體驗(yàn)上花的成本要比在開發(fā)人員上花成本要大得多的多。我以為,Google 的Android 更多的關(guān)注了程序員,而不是用戶。而iPhone更多的關(guān)注了用戶,也讓程序員在開發(fā)過程上受到了一些犧牲(iPhone的做法是如果程序員的程序要上App Store,先交99美刀的代碼審查費(fèi),就像申請美國簽證一樣),但是,iPhone的程序員雖然在開發(fā)的方便上有一些犧牲,但是從收入上卻得到了保障。最新的消息是蘋果已向開發(fā)者支付20億美元 音樂供應(yīng)商分成達(dá)120億美元。在《偷了世界的程序員》中對此有充分的論述。

最后,請大家思考 幾個問題——
Android支持C/C++是為什么?如果是為了程序效率,那么這又是為什么?
是開發(fā)人員更重要,還是用戶更重要?(注意:我說的是“更重要”)
在當(dāng)今這種諸如iPhone或Andorid的開發(fā)模式下,是完全開放好,還是有適當(dāng)?shù)姆忾]好?
開發(fā)和封閉的背后的商業(yè)驅(qū)動是什么?如何在開放和封閉中權(quán)衡用戶、開發(fā)者、公司和版權(quán)商的利益?

蘋果公司給出了一個很不錯的商業(yè)模式。

(完)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
教你如何成為 Java 吹(60分版本)
為什么它那么慢那么啰嗦,還能穩(wěn)坐世界第一編程語言的寶座?
美國傳得最火的物聯(lián)網(wǎng)報(bào)告 82頁看懂千億級市場!
現(xiàn)代編程語言大 PK,2020 年開發(fā)者關(guān)心的七大編程語言
JVM 語言的興衰史
谷歌再推Kotlin:代碼量減少80%
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服