Posted on 2012-12-27 10:37
TWaver 閱讀(2399)
評論(3) 編輯 收藏
Android特性
Android是Google公司基于Linux內核的開源操作系統,主要用于移動設備,目前在智能手機市場占有重要份額。Android應用層使用Java語言開發,運行于Dalvik虛擬機,每個Android應用運行在獨立的虛擬機中,這保證了各應用間資源的保護和線程安全。
Android架構簡圖
Android編程方式:Java,NDK,HTML
通常使用Java語言開發Android應用,但也可借助其他語言,如Android NDK(Native Development Kit)開發模式,可用Java調用C語言庫,此外HTML也可以包裝成Android應用。
三種方式都有各自的特點,Java為Android原生支持的語言,便于開發本地應用,隨著Android系統的不斷優化,其效率也在不斷提升,TWaver Android就使用Java開發;Android NDK開發相對復雜,但可借助C語言的性能優勢,改善程序效率,并且C語言也具有很好的跨平臺性,在游戲領域應用普遍;而Html方式也逐漸成為趨勢,Web App可用于實現跨瀏覽器,跨平臺的應用。
Android性能測試
Android設備很豐富,系統升級也很頻繁,Google對Dalvik虛擬機的優化和Android應用架構的改善有長足的進步,如Android 2.1升級到2.2時引入了JIT(just in time)機制,使應用效率提升了2-4倍,而Android 4.1黃油計劃對UI流暢度也有作出了貢獻,Google的努力值得贊揚,但一方面也說明此前Android效率的低下,而未來進步的空間還有多少?我們用數據來說話。下面我們將分別在Android平板與電腦下對Android Java與Sun Java作對比測試,以了解兩者的性能差異和各自適用的場景。
Dalvik VM與Sun Java VM的性能差異
測試設備分別為:MacBook Pro(2.26 GHz Intel Core 2 Duo),Google Nexus 7(1.3GHz四核Tegra 3)
軟件環境:Java 1.6.0_37和Android 4.2.1
測試內容:包括數學運算,集合操作(List和Map操作)等基本API
因為同為java語言,測試代碼基本一致,詳見TWaver Android Demo中的PerformanceDemo.java,這里只列出結果:
Android 4.2.1耗時是Java 6的12 - 50倍,此外其他語言(Flex,JavaScript)在電腦上的運行效率也大大優于Nexus 7平板。
另外看看HTML的情況,Chrome瀏覽器移動版與桌面版有四倍的差距,這基本上反映了硬件的真實水平,Android中JavaScript語言相比原生的Java性能更優,至少對于Chrome瀏覽器是如此,當然這個測試只是反映語言的基本性能,從開發的便易上看,Java還是最佳選擇。
測試的結果表明相比PC,android設備在性能上尚有明顯差距,而Dalvik VM尚不能充分發揮硬件的性能,在開發應用時需要意識到這點,以達到用戶體驗與功能上的平衡。
編程語言各平臺下的性能差異
TWaver Android的定位
TWaver圖形組件在桌面上有很多開發語言可選擇,獨移動平臺上空缺,雖然TWaver Html5也能運行在Android和iOS之上,但要達到本地應用的體驗絕非易事,TWaver Android定位于移動平臺,用于圖形化的數據展示,采用了全新設計架構,提升了UI效率,以應對移動設備自身性能的不足,全新的多點觸控交互模式,漫游操作,實現流暢的交互體驗。
TWaver Android的數量級支持
相比TWaver其他版本,TWaver Android架構做了變化,數據模型上提高了數倍效率,解決了Link, Group的性能問題,UI呈現上優化了延遲無效機制,交互上完全適應觸控操作,綜合測試,對于Node,Link,Group混合使用的場景,一千數量級在Nexus 7平板上可以流暢的操作,考慮到平板硬件差異和Android虛擬機的效率問題,這樣的結果還是讓人滿意的,可以有廣泛的應用場景。
Nexus 7中,不同網元數量級下拓撲圖的加載時間對比
TWaver Android推薦平臺
考慮到更佳的展示效果,大屏幕或許更便于數據的圖形化展示,所以TWaver推薦使用平板,支持Android 3.0+以上版本(該版本支持Drag and Drop),實際上TWaver Android內部主要使用Nexus 7 / 10以及三星平板作開發測試與調優。當然這并不意味著TWaver Android不能用于手機或者低版本的Android設備,TWaver Android Demo在Google Nexus S手機上也可以流暢的運行,如果需要兼容Android 2.*較低版本設備,你可以申請TWaver Android的精簡版本。
TWaver Android Demo運行于Nexus 7 和Nexus S