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


本文链接

更多相关文章

  1. Android(安卓)之ActivityThead、ActivityManagerService 与activ
  2. Android应用程序的Java数据更新和UI同步改变
  3. Android体系结构分析
  4. android中怎样将自己的应用程序的签名改为系统签名一样
  5. Android(安卓)QQ皮肤制作 apk之间资源共享
  6. Android(安卓)Launcher 应用开发
  7. Android应用程序中Activity的生命周期
  8. ( 转)关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
  9. Android(安卓)开发性能优化简介

随机推荐

  1. 源码解析Android中View的measure量算过程
  2. [置顶] Android(安卓)内存泄漏
  3. Android转场动画和共享元素动画兼容5.0以
  4. Android中基于心知天气API获取天气信息
  5. Android(4.2) Sensors 学习——G-sensor,
  6. Android中我为什么发不了邮件--Android邮
  7. Android(安卓)TV 焦点移动飞框的实现
  8. android 新浪微博客户端的表情功能的实现
  9. Android(安卓)Studio 基础 之 一键快速实
  10. Android心得3--拨号器