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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 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,你可以在保持文章完整和保留本声明的情况下转帖、分发和印刷等。