The Android virtual device (a simulated Android environment) doesn't run very smoothly on my machine. Scrolling is quite sluggish.
Is that normal?
EDIT: Just noticed that a AVD running Android 1.6 has a significantly better performance compared to the AVDs running on 2.1 and 2.2.
Its normal unless you have like 4GB of RAM, an SSD, and a good processor. Out of all those, RAM is probably the most important though since your basically running a VM(Virtual Machine) on a VM.
If you have a dedicated GPU on your machine, you can enable GPU acceleration on the AVD to make the graphics-related processing, such as animations etc, much faster. It is NOT enabled by default, and the developers page even said that it might not be compatible with every GPU out there, but it is worth a try. You can enable it by editing your AVD, and in the hardware section click "New", add "GPU emulation", and set it to "yes".
This is also assuming you have enough RAM. 4GB is sufficient to run eclipse + the Jellybean AVD (with WXGA720 resolution) on Ubuntu 12.04 Unity. I still have 800 MB of free RAM (I do not have swap space).
Related
This is not a rant, and also not a duplicate of the forever "why is Android emulator so slow" problem. So, until a few weeks (maybe months) ago, emulating Android devices on my Win7 64-bit system was at the very least acceptable (x86 emulation was decently fast to be usable). However, trying to create any ("fast" "new" "2.0") emulator instances using the latest version of the SDK, platform tools, etc., is only a source of frustration and pain for several days now. I'm trying to understand if it's an issue on my side or people can actually use the latest version of the Android emulator included in the latest SDK, on Windows 7.
My PC config: Win7 x64 / Intel Core 2 Quad #3.8 GHz / 6 GB RAM / plenty of HDD space / dedicated GPU
What happens when trying to start an emulator with any API level, with either x86 or x86_64:
version 1) emulator starts, Android logo appears, glows for a bit, and that's it. It never reaches the Home screen. Emulator log shows absolutely no errors. Trying to connect using adb freezes Android Studio until I kill the emulator process.
version 2) Same like version 1, but in this case I can't even kill the qemu-system-i386 process (yes, not even with full admin rights). I have to actually restart Windows. Process remains a zombie, using 1 GB of RAM.
version 3) If I'm lucky, sometimes it reaches the Home screen, but becomes completely unusable. Sometimes I can click on things (maybe 2-3 clicks), and then becomes completely unresponsive. Occasional "Launcher has stopped" / "System has stopped" messages appear randomly in the emulator's home screen...
I've installed the latest Intel HAXM 6.0.3 version (the one downloaded by the Android SDK manager). Virtualization is enabled in BIOS.
I've tried all kinds of emulator options (more or less RAM, hardware vs software GPU, x86 / x86_64). Almost same result every time.
I've completely deleted and reinstalled the entire Android SDK and Android Studio.
CPU is not the issue - it's not under load while emulator runs.
Free RAM is not the issue - it's not fully used while emulator runs,
HDD is not the issue - I even defragmented it, and it's not looking like it's under any sort of load while emulator is running.
So, my question is very simple: is anyone out there using Windows 7, who can actually start up, let's say, a Marshmallow x86 emulator just by a simple 2-3 clicks process, and actually have it reach the home screen? Or does the "new, faster" emulator actually need some sort of super-powerful machine which I don't seem to possess anymore? The only thing that apparently changed was the HAXM driver. But it's stating that it has initialized just fine, so I don't know. Oh, and VirtualBox runs just fine. GenyMotion, by contrast, just flies. But I'd like to have the official Android emulator in a working state, or am I asking for too much?
Adrian, in my sad opinion: yes, you would need a powerfull processor, even a litle bit more of ram. The almost-aceptable scenario for you to run api 24 emulation in xxxhdpi resolution is an i7 with 8 of ram.
But this is what hard and software manufacturers want you for: upgrade, upgrade, upgrade. And it's not necessairilly true for you, or not obligatory for today. Maybe tomorrow...
It's my case too. I have a second generation i5 with 6 of ram and plenty of disk. Have a good geforce gpu too. And what I do to have my emulators running, or, how do I emulate in my win7? First of all: unninstalled all the last (about 30) non-security system updates from windows (! yes..., they make your system very heavy, the same with the various distributed c++ packages microsoft want us to carry on with our systems even if we use it once a year, or less - go to control panel and ripp'em off! Keep only the most recent c++ package - if you need it later, update again). Actually I'm even investigating what else "updates" I can delete from my system to have it usable again, mine again. Microsoft...
Second: enabling "power save mode" on your android studio (menu file), only in testing times, seems to make things faster.
Third: do heavy tests on emulators with "low" apis, like android 4 or 5 at max. And emulate devices with small screens or resolution, 5 pol. with 720 points (hor.), at max. If possible use _x86 64 emulation.
With this you can make it happen. The emulator is slow to load and open, but when running it works in a fairly good speed. First thing to do there: enter developer options and "force gpu" on both places. This will instruct your pc to take advantage of your dedicated gpu system.
Do not try to open two or more emulators at the same time, sorry.
When 90% of your debug is done (i do it in an emulator running android version lower than 5, normally 4.0 or 4.1 - 480x800 screen), then you pay the price to load a big screen, big dpi android 5, 6 or N). While it loads, make a coffee and use the bath.
When the beauty (beast?) is loaded, then do the final tests with all your apps that stayed waiting for this special moment. I maintain all my apps waiting for it. When I load the "big" emu I use this oportunity to do all tests I was needing - because it's not a simple task open this everytime I want.
In the future, as said: i7, 8ram, powerfull gpu and, very important: a good SSD drive (until 10x faster) to throw up damn nasty harddisk to the garbage. :) Best.
EDIT: when you create an AVD image with the latests APIs, Android Studio defines the ram and disk space values for the emulation and, in my opinions, these values are too big and too hard for the hostage computer to deal with. First point: your testing app never will demand all those resources. Two: your pc suffers hard to deal with a very fragmented Gb data from here to there, and there to here. Three: the virtual image created on your hard disk gets bigger with the use. So: 1 - lower the default values from your avd images, ram and disk sizes; 2 - on the avd launching window dialog, edit the options of each image and rip information everytime before start the emulation OR/AND 3 - uninstall your apps from the emu when not needed.
I'm building an android app on Ubuntu, though the AVD freezes the machine or sometimes breaks before running the app. I have i5 5th gen, 4GB ram.
Could it be less costly (computation-wise) to use the USB degugger?
Thanks
I suggest you to increase RAM. There are so many files that need to be in memory for smooth debugging. In your case, it must be freezing because of continuous swapping of files from RAM to HDD and vice versa. So try putting another 8GB chip.
Currently debugging on emulator is slower than device in my case. Emulators will be faster in Android Studio 2.0 release.
I am working on an android application, uing eclipse IDE. However it takes around 10-15 minutes to load my AVD and run the application.
My system Configuration:
RAM 8GB
intel Core2Duo Processor 2.53GHz.
OS: windows 7
Is their any alternative to increase our AVD's speed, without changing my systems hardware configurations.
You can setup an Android Virtual Machine using VirtualBox :
http://www.howtogeek.com/164570/how-to-install-android-in-virtualbox/
And to deploy to the virtual box :
android emulation on virtual box in eclipse
I tried this a while back and it was quite a performance improvement difference. I haven't done this in a while because I bought a pretty high end phone and I just use that now.
Is their any alternative to increase our AVD's speed
Using the x86 emulator will help.
That being said, your computer would appear to have issues. With that configuration, even the ARM emulator should take at most a minute or two, at least on Linux. Windows 7 perhaps adds some more overhead, but I would not expect it to be that much.
Also, bear in mind that you can usually keep your emulator open all day -- you do not have to exit and restart the emulator for most work.
GenyMotion have an Android Emulator that is pretty rapid. (not an AVD)
http://www.genymotion.com/
Genymotion is an emulator using x86 architecture virtualization,
making it much more efficient!
Taking advantage of OpenGL hardware acceleration, it allows you to
test your applications with amazing 3D performance.
It's free for personal use, has preconfigured devices (like N7 or Samsung GS3 etc).
I think you'll really like it.
You can select the snapshot options. On the first next start, a snapshot will be created. This will improve the launch speed of the emulator every other start...
Hello I am running a W510 Lenovo Laptop which is generally rapid in most computing circumstances but when running Eclipse and trying to run the AVD emulator it is like molasses. I know that there are some alternative emulators and that I can improve the RAM on the emulator but what other ways can I speed it up.
I am thinking of upgrading from 4GB of RAM on my Lenovo to 12GB would this make a big difference?
Thanks
If you have a dedicated GPU, try turning GPU acceleration on to significantly boost graphics performance. It is turned off by default. To turn it on, edit the AVD you use, and on the hardware section, click "New". Find "GPU emulation", add it, and set the value to yes.
Assuming that you only run eclipse, the emulator, and a bunch of Chrome tabs (no other RAM hungry processes going on), 4GB should be enough. My setup also has 4GB RAM with no swap space and if you check system monitor, most likely you still have spare free RAM. I personally still have 800 MB of free RAM when all of those things are open (with device ram size set to 512 MB).
Hope this may work for others:
I've faced the same problem with my high config pc have 3i 4GB , but the emulator works so slow
I found something that worked for me and hope it may work for others i would love to share it here
i've just added Device ram size to My existing AVD and set the size to 1000MB(Because i've enough to allot mine is 6GB)
No the speed of my AVD was ultimate hope it may help you.
EDIT 1:
You may also set some attribute for better performance like
set GPU Emulation = yes
To increase performance, I want to allocate 1024 MB RAM to a tablet emulator. Problem is that it won't start, i.e. no windows/consoles show up when I click Start in the Virtual Device Manager. If I let the device to its default 256 MB, it starts. How can I fix this?
I'm using Windows 7 Ultimate with Intel i7-2.2 GHz and 8 GB RAM DDR3. It used to work fine on 32-bit windows.
I know this isn't an answer to the particular question you have asked, but it may help with the underlying issue: you can increase the performance of your emulated device by switching to an x86 version.
The Android emulator has always been painfully slow for me, even on a quad core rig with 8 gigs of RAM, so I started following the Android x86 project. Not long ago, I finally took the plunge into getting it set up, and it was easier than I expected--and it's really, really fast.
If you have VirtualBox installed, all you have to do is download eeepc.iso from the project's website (for whichever Android version you prefer), create a VM for it in VirtualBox with however much RAM you want it to have, and boot it up. Pick VESA mode from the menu, disable mouse integration on the VM, and skip the google account login process. You'll be good to go.
Then just set up port forwarding for ADB from guest:5555 to localhost:whatever-port-you-choose, and point ADB at localhost:whatever-port-you-choose, and it'll work even better than the ARM emulator that ships with the SDK.
I disabled the camera support and I was able to use 1024MB of RAM.