惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

博客园 - chengbo

Android Studio:为Android定制的IDE 使用Gitolite来对Git的repository实现权限控制 用Debian当路由,来解决BT造成的网络慢的问题 当LISTVIEW有HEADER时,ONITEMCLICK里的POSITION不正确 准备再写写东西了 压缩 ViewState 后,与 UpdatePanel 的兼容问题 - chengbo 如何让 firefox 的窗口大小不再被网页脚本改变 52个行之有效的减压方法 用Javascript检查Caps Lock是否按下 如何用C#和SQL获得当前月的第一天和最后一天 每天如何自动编译项目并将之打包添加到VSS中 - chengbo - 博客园 maxthon 2 预览版的邀请 成都古羌科技有限公司招聘 怎样用TSQL建JOB xml参数存储过程 如何在ReadOnly的DataGrid中的让CheckBox列可点击 激情黄健翔 Head first design patterns 读书笔记 – Strategy(策略模式) 双击U盘出现“拒绝访问”的解决方法
更快的,更好的支持硬件的模拟器
chengbo · 2012-04-10 · via 博客园 - chengbo

原文:http://android-developers.blogspot.com/2012/04/faster-emulator-with-better-hardware.html [This post is by Xavier Ducrohet and Reto Meier of the Android engineering team. — Tim Bray.]Android模拟器是开发和测试Android程序的一个关键工具。目前Android设备的功能以及多样性发展的日益迅猛,模拟器要跟上步伐十分的困难。 今天我们激动的宣布,模拟器做了一些十分显著的改进,包括激动人心的性能提升,众多硬件特性,尤其是传感器和多点触控的支持。

加入GPU支持

今天我们发布的系统镜像内置了GPU支持(Android 4.0.3 r2)。Android日益依赖GPU来提高性能,所以新模拟器的差异十分显著。在下面的视频中(需FQ才能看)模拟器依旧翻译着ARM指令(运行模拟器的宿主系统一般是x86平台,此镜像是ARM平台的,所以中间存在着ARM->x86指令的转换。之前没有GPU支持,运行如此高分辨率的模拟器并不流畅);GPU可以让性能提升不少。 一个额外的红利,我们现在已经支持OpenGL ES 2.0了,所以你的OpenGL游戏可以在模拟器中运行了。 请注意的是,目前有很多种的GPU,我们并没有用所有GPU对这个beta版的模拟器做测试,所以,如果你有什么意见或者遇到了什么问题,请联系我们

模拟更多的硬件特性

移动设备的硬件特性是一个开发平台的重要组成部分,所以我们也高兴的宣布,除了去年加入的摄像头支持,现在还可以使用一个绑定的Android设备来支持传感器和多点触控了。 我们还在为模拟器支持更多的硬件特性,包括蓝牙和NFC(近距离无线通信),而努力。

优化的CPU性能

我们同样也优化了Android模拟器的CPU性能。硬件浮点运算操作在冰淇淋三明治版本(Android 4.0)之上的版本中有效,它让模拟CPU操作大概快了2倍。 上一周,我们发布了包括x86系统镜像和主机驱动程序的Android开发工具r17版本,可以让模拟器使用x86指令执行,大大提高了执行效率。 下面这个视频显示了两个CPU相关的程序,一个有虚化(virtualization),一个没有,在两个运行着相同系统镜像的模拟器上运行的情况。(同样需要FQ)

构建一个现代化的模拟器

因为Android平台允许应用程序和系统组件之间的深层相互操作,所以我们必须提供一个有着完整系统镜像的模拟器。我们的模拟器虚拟了一个完整的设备:硬件,内核,底层系统库和应用框架。 当然,系统一般被虚拟为ARM CPU的设备;之前,我们用软件来虚拟这些指令,它一直工作的不错,直到包括更多动画和更加复杂的Android 3.0的到来。 我们缺少的是Android x86的支持,和上周r17版本的SDK工具中的GPU支持。把模拟器的OpenGL ES 2.0指令传给宿主操作系统,转换成标准的OpenGL 2.0,然后用宿主GPU来执行,这样模拟器就支持GPU了。

总结

Android生态系统有着很多的来自不同厂商的设备。开发人员需要一个不用买设备就可以测试程序的途径。同时一个快速的,更真实的模拟器有着极大的帮助。 我们希望这些新的优化能够让模拟器在你的开发和测试过程中更加有用,同时期盼能进一步的为你优化它。 本文由Roy最初发表于:http://blog.chengbo.net/2012/04/10/faster-emulator-with-better-hardware.html,你可以在保持文章完整和保留本声明的情况下转帖、分发和印刷等。