蓝叶菱的专栏

老代码农,各种语言和技术的辛酸苦辣,偶尔看代码偶尔会想吐。

Android arm模拟器的速度提升方法

方法一:

emulator -cpu-delay 0 -no-boot-anim -cache ./cache -avd avd_name

the first two are obvious. the third one will make the memory of the emulator kind of persistent. you can point it to any file that does not get destroyed by boot (such happens with /tmp) it's like a always-on hibernating device.

Try to use a smaller resolution for your emulator as for example HVGA. The emulator gets slower the more pixels its needs to render as it is using software rendering.

Also if you have sufficient memory on your computer, add at least 1 GB of memory to your emulator. This is the value "Device ram size" during the creation of the AVD.

Also set the flag "Enabled" for Snapshots. This will save the state of the emulator and let it start much faster.

The emulator is running actual ARM opcodes. It uses qemu, which is a virtualization system akin to a VirtualBox or VMWare, to accomplish this. That approach maximizes the fidelity between the emulator and real-world devices. Its cost is the ARM->Intel opcode conversion. The only way to significantly speed that up is to speed up the CPU that runs the emulator.

I have not done an exhaustive analysis, but I do not get the sense that qemu and the emulator use multiple cores. Hence, "a faster computer" is governed more by the speed of a single core than how many cores it has.

To the extent possible, I would develop "games and visual effects" on actual Android hardware, using the emulator for testing configurations that you do not own (e.g., QVGA). For example, I've done a reasonable amount of work on video playback apps, and I only bother developing those on hardware, because video playback (and presumably some games) requires graphics acceleration to work well, andqemu does not have a graphics accelerator AFAICT.


如果以上方法都不行,而且慢。可以考虑使用

1)XBOX虚拟android系统或者

2)GenyMotion虚拟机。

3)还不行,对比起,自己花钱买真机。


阅读更多
个人分类: Android/AS/NDK
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭