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.
Related
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...
I have intel i7 quad core with 4GB of ram but when I try to run my app on the emulator, God it takes a hell lot of time. Some times more than 5 minutes. I am not emulating any game or graphics intensive thing. I am learning android so just trying simple aps but still it is very slow. Moreover today I found this emulator has stop playing any music or sound I used the in the programs, I made previously. What can be the reason of this weird behaviour and slow speed.
How can I fix it? I am on Windows 7
PS: when I try to type in an app from user keyboard, the emulator doesn't take any input unless I use the emulator keyboard. Can I change its settings to take input from keyboard.
Regards
Open android sdk manager, in extras, install "Intel Hardware Accelerated Execution Manager", and use x86 images (there are two available, one 2.3.3, one 4.0.3) provided by intel.
On windows, android SDK Manager only downloads the installer of IntelHaxm, so you have to go in and install it yourself. Usually you can find it under
android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager and install IntelHaxm.exe as admin.
4GB of RAM imho is not enough, windows 7 and eclipse together takes more than 2GB out on my system. 8GB is minimum and the more the better.
The emulator has always painfully slow for me; I've never gotten any of the standard speed suggestions to work. However, if you have a device available, testing directly on it is much, much faster.
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.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Need information about minimum hardware requirement for better experience in developing Android application.
My current configuration is as follows. P4 3.0 GHz, 512 MB of ram.
Started with Hello Android development on my machine and experience was sluggish, was using Eclipse Helios for development. Emulator used to take lot of time to start. And running program too.
Do I need to upgrade my machine for the development purpose or is there anything else I am missing on my machine(like heavy processing by some other application I might have installed).
And If I do need to upgrade, do I need to upgrade my processor too(that counts to new machine actually, which I am not in favor of), or only upgrading RAM will suffice.
Firstly, there is an issue with the ADT plugin and Helios which causes lag with looking up Android classes - use Galileo instead (v3.5).
Secondly, the emulators become more resource hungry depending on the version of Android you're developing for. Example, I have a P4 2.4GHz, 1GB RAM PC with Win XP 32-bit and an Android v2.2 emulator takes at least 4-5 minutes to load up. An Android v1.6 emulator on the other hand loads up in less than 1 minute. Remember though that once the emulator is up and running, you can leave it loaded and it will be more responsive than first use.
Also bear in mind that if you give your emulator a 2GB SD card (for example) it will try to create that through virtual memory if there isn't enough physical memory.
I did the following experiment at home:
let's compare how 2 computers compile the same android application in eclipse. Here are the competitors:
"the monster"
- pentinum i7
- 16 gig RAM
- solid state hard drive
"peabody"
- pentinum i3
- 4 gig RAM
The results:
when I compiled the same application in eclipse, the monster and peabody took exactly the same amount of time to bring up the emulator to the point where you have to slide the button to run the app: 1 minute 12 seconds.
After that point, the monster executed the app 30-40 seconds faster than peabody.
The monster costs about $500 more than the peabody. So the question is, is it really worth it? In my opinion, No. I can wait the extra 30-40 seconds
I use an i5 processor with 4Gb RAM. It works very well. I feel this is the minimum configuration required to run both eclipse and android avd simultaneously.
Just an old processor with high RAM is not sufficient.
IMHO it is cpu and RAM dependant. On my Wolfdale (with Intel virtualisation technology) + 4GB of RAM it's very fast and usable. As I know the emu is qemu based so it`s better to have Intel with virtualisation tech enabled and don't forget to insert any virulatisation modules to the kernel (if using linux).
Its of no use even if you increase your RAM size because I tried it too. I am using P4 3.00GHz processor and 3 GB RAM(changed from 1 GB to 3GB), But even the Hello world application never turned up.
Its preferable to upgrade your system.
I've just started using Java on Eclipse (Juno) after a 15 year break from Java. I was using the ADK on a 1.6GHz Atom N270 with 4Gb RAM on W7 32bit on a nearly empty disk. Not sure if it is the Atom or whether Java is as bad as it used to be 15 years ago but it takes over 2 minutes for Eclipse to even start. The emulator does turn up eventually but is extremely sluggish. Even without the emulator, Eclipse is sluggish.
On a 1.6GHz Core i7 or a 2GHz Core 2 Duo, operation is reasonable. Emulator works, Eclipse takes about 5 to 10 seconds to be ready for work. Moral of the story: don't use an Atom or any other low powered processor. It is sluggish even with 4Gb memory and having the same clock speed as a high end processor.
I've also tried it in a VMWare VM on the 1.6GHz Core i7 and on the Core 2. It is reasonably fast until the the emulator is started. It then slows down to the point of no return. Redraws is now very much like that of the Atom but at least it responds when the buttons are clicked. Note that it is now running an emulator within an emulator. The only problem with VMs is that every so often W7 does what W7 does. There is a wait cursor and whole machine is totally unresponsive for a minute or two then it springs back to life. This was with VMWare V3. V4/V5 might be different. Varying the number of cores/processors did not make any difference to eclipse or the emulator.
I use DUAL CORE 3-GHZ with 2GB RAM, windows 8 OS.
I can run eclipse and AVD (even running 2 AVD is still good) smoothly, as long as i dont open too much other tabs (Game, Browser, MS Word, etc).
Hey, I have used the same software on an AMD 3Ghz chip, dual core. had 2gbs of ram at the time, and i noticed the emulator ran at an alright speed, but took a ridiculous amount of time to load.
I have not done enough development on Android to tell you if this is a common, or even still existing problem, but it is certainly something I remember from my experience.
Have a look at the android SDK system requirements Here
I'm guessing some extra RAM would help your developing experience...Also the emulator does take some time to start on even the speediest systems.
I find identically-specced AVDs run and load far better on my home machine (Phenom II x4 945/8GB RAM/Win7 HP 64bit) than they do on my work machine (Core2Duo/3GB RAM/Ubuntu 11.04 32bit).
As you're essentially running a virtual machine, I would personally go for nothing less than a dual core/4GB, though highly recommend a quad/8GB if you can splash out for that.
I am using the Android Emulator to debug my application, first off it is ridiculously slow, I mean like 15mins to load slow and on top of it, my Alarm Clock application fails?
Am I the only one, or do other people experience this? Is there a fix or will I just have to go cook steaks while the emulator is booting?
EDIT: I am running it on a Vista laptop, which as fixxed describe does not work well with the alarm clock failing, but I don't think it could be my laptop, its 2GB RAM Intel Dual CPU T2390 1.87GHz, its not even a year old. Could it be that I am creating new AVD's each time I run the emulator?
Anthony
You never mentioned what environment you're running in. Is it perhaps Vista? We had a discussion recently and it seems like the combination of the emulator and Vista just doesn't want to run well for some reason.
Either way something's definitely wrong. I have a laptop with a 2GHz Core2-Duo w/ 4GB RAM (rarely use more than 1.5) running Ubuntu 9.04 (32bit) and the emulator gets to a usable state in less than 30 seconds w/ Eclipse, Firefox, etc all eating more than their share of resources.
The very first time you launch the emulator on a new AVD, it will take a lot longer to start up, because it is creating copies of disk images and customizing them for the hardware parameters you specified.
Beyond that, you may need a faster PC. Android supplies an emulator -- you are running actual ARM opcodes in a virtualized phone. Converting and interpreting opcodes on the fly takes a fair bit of horsepower in terms of CPU and RAM, on top of any other tools you might use (e.g., Eclipse, which needs a ton of resources in its own right).
On a Pentium M 2.0 notebook with 2GB RAM and no Eclipse, in either XP or Linux, the emulator will start in maybe 90 seconds and will run tolerably well.
On a dual- or quad-core CPU with 2.5GHz or better speed, with 4GB RAM and no Eclipse, in either Vista or Linux, the emulator will start in under a minute and will run rather nicely.
I see the Alarm clock crashing problem in on Mac OS X 10.5 Leopard. 2.4 GHz , 4GB RAM.
My development environment is: Eclipse 3.4.2, Using Android 1.6 SDK
The emulator takes about 2 minutes for me to start up. I think even 2 minutes is too slow. The iPhone simulator takes only a few seconds.
Are you deleting the old avds that you have created?.....If not then it will slow up your computer as i tried it with different target machines......Is it necessary to create new avds every time you are trying to run the emulator?...If not i'll suggest you to stick with an avd(or delete the old ones).Hope this helps.