Android開發(fā)必談 平臺運(yùn)行效率分析
目前,Android開發(fā)過程中普通的程序員拿不到真機(jī)測試,無法判斷運(yùn)行效率。一個(gè)嵌入式開發(fā)程序員可能都知道模擬器和真機(jī)的環(huán)境差距還是很大的,今天為大家分析一下運(yùn)行效率。
本文引用地址:http://cafeforensic.com/article/201610/305796.htm首先我們清楚的是在硬件方面官方已經(jīng)考慮使用ARM9系列的CPU,工作頻率在195MHz到220MHz之間,代表為TI OMAP 850,飛思卡爾等。由于使用了運(yùn)行效率高的Linux內(nèi)核,在內(nèi)存占用和多任務(wù)方面還是比較強(qiáng)勁的,但是面臨的問題為Java開發(fā)API。
官方為什么沒有像Symbian和Windows Mobile那樣提供兩種語言開發(fā)可能主要是時(shí)間問題。未來可能會加入的,不然不像Google的作風(fēng)。當(dāng)然真機(jī)發(fā)布時(shí)還有很多周邊設(shè)備的驅(qū)動等問題的編寫。
既然使用了運(yùn)行效率低的Java,程序員就要考慮代碼效率了,優(yōu)化代碼是很重要的事情,在Java方面主要用在企業(yè)和手機(jī)游戲,我們都清楚Java內(nèi)存分配new后不用自己delete,有GC幫助資源回收。但是Java的異常處理還是和C無法相比,穩(wěn)定性可能最重要的,畢竟未來的廠商生產(chǎn)時(shí)會自己定制GPhone硬件,造成運(yùn)行兼容性等問題。
Java的跨平臺越來越差了,目前冒出的Dalvik會如何呢?盡管Sun CEO表示希望Android和JME兼容但從目前的代碼中看很多都是重復(fù)的圖形庫居多。
程序員抵制的主要是優(yōu)化代碼運(yùn)行,如分配局部臨時(shí)變量時(shí)的位置、在算法方面少用遞歸,線程同步等問題。
評論