Android特性

标签: android | 发表时间:2012-12-27 10:37 | 作者:TWaver
出处:http://www.blogjava.net

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


本文链接

相关 [android] 推荐:

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.

GetEd2k (Android应用)

- 某牢 - eMule Fans 电骡爱好者
GetEd2k是一个Android应用程序,作者是anacletus. 此应用可以帮助你把网页中的电驴(eDonkey) 链接添加到你个人电脑的电驴客户端里,不过前提是你的客户端开启了用于远程控制的Web interface(Web服务器,网页接口,Web界面),当然,eMule(电骡), MLDonkey 和 aMule 都支持该功能,所以这三种主流电驴客户端的用户都可以使用GetEd2k.

Android 4.0发布

- coofucoo - Solidot
Shawn the R0ck 写道 "2011年10月19日早上10点,谷歌与三星联手在香港发布了Android 4.0和Galaxy Nexus. " Android 4.0 的主要特性包括:更精细的UI,加强多任务和通知功能,锁屏下可打开摄像头和浏览通知,改进文本输入和拼写检查;增强视频录制和图像编辑功能,支持剪裁和旋转图片、消除红眼、添加效果等;面部识别解锁;Android Beam允许两台支持NFC的设备之间交换应用程序、联系人、音乐和视频;Wi-Fi Direct,蓝牙HDP,等等.

NoScript For Android发布

- John - Solidot
用于屏蔽脚本的浏览器流行扩展NoScript发布了Android版本. 开发者称已经在Firefox for Android测试过,此外也应该能工作在基于Maemo的设备上. 移动版NoScript可以帮助移动用户抵抗基于脚本的攻击. Android平台上的扩展功能和桌面版相似,允许用户对每个网站单独设置脚本执行许可.

Android入门:ContentProvider

- - ITeye博客
一、ContentProvider介绍. ContentProvider翻译为“内容提供者”;. 定义:指该应用包含一些方法,供外界访问,其他应用程序可以调用该方法,比如如果应用A创建了一个数据库“test.db”,默认是私有的,即其他应用程序不能对其进行操作,但是如果应用A使用了ContentProvider,则其他应用程序可以访问该数据库;.

Android Service 详解

- - CSDN博客移动开发推荐文章
一个Service也是一种应用程序组件,它运行在后台以提供某种服务,通常不具有可见的用户界面. 其它的应用程序组件可以启动一个Service,即使在用户切换到另外一个应用程序后,这个Service还是一直会在后台运行. 此外,一个应用程序也可以绑定到一个Service然后使用进程间通信(IPC)方式与Service之间发生交互.

android动画

- - CSDN博客移动开发推荐文章
一、        开发资料与实例教程. 分析android动画模块. Android 动画类的特点和区别. Android动画基础--本文转载自--springfieldx的文章,在此向他致谢. Android Animation 动画效果. Android Tween动画(一). Android Tween动画(二).

Android ContentProvider总结

- - CSDN博客推荐文章
1) ContentProvider为存储和读取数据提供了统一的接口. 2) 使用ContentProvider,应用程序可以实现数据共享. 3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等). 1)ContentProvider简介.