Why emulator is very slow in Android Studio?

AndroidAndroid EmulatorAvdAndroid Studio

Android Problem Overview


I just setup Android Studio on my PC, which is new launch to develop Android application.

My problem is that, when I try to run my small app in emulator, it take to much time to launch and after then emulator is working slow too.

AVD settings

AVD Name: Glaxy
Device: Glaxy Nexus (4.65", 720x 1280: xhdpi)
Target: Android 4.2.2 - API Level 17
Memory Option: Ram 500, VM Heap 64
Internal Storage: 200MiB

I have good window pc: Intel Core 2 Duo 2.93Ghz and Ram is 3gb

I am new in Android development and java.

Android Solutions


Solution 1 - Android

The Best Solution is to use Android Emulator with Intel Virtualization Technology.

Now if your system have a Processor that have a feature called as Intel Virtualization Technology, then Intel X86 images will be huge benefit for you. because it supports Intel® Hardware Accelerated Execution Manager (Intel® HAXM).

To check that your processor support HAXM or not : Click Here

You need to manually install the Intel HAXM in your system. Follow these steps for that.

  • First of all go to - adt -> extras -> intel -> Hardware_Accelerated_Execution_Manager
  • Make sure that Intel Virtualization is enabled from BIOS Settings.
  • Now install Intel HAXM in your system and select amount of memory(i prefer to set it as default value).
  • After installation create new Android Virtual Device (AVD) which should have a Target of API Level xx
  • Now set the CPU/ABI as Intel Atom(x86).
  • If you are on Windows then do not set RAM value more than 768 MB while setting up an emulator.
  • Run the emulator. It will be blazing fast then ordinary one.

Hope it will be helpful for you. :) Thanks.

Solution 2 - Android

Just edit the AVD settings as below,

Enable snapshot options and please use INTEL HAXM software for speedup.just visit https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm and download...

Solution 3 - Android

The new Android Studio incorporates very significant performance improvements for the AVDs (emulated devices).

But when you initially install the Android Studio (or, when you update to a new version, such as Android Studio 2.0, which was recently released), the most important performance feature (at least if running on a Windows PC) is turned off by default. This is the HAXM emulator accelerator.

Open the Android SDK from the studio by selecting its icon from the top of the display (near the right side of the icons there), then select the SDKTools tab, and then check the box for the Intel x86 Emulator Accelerator (HAXM installer), click OK. Follow instructions to install the accelerator.

Be sure to completely exit Android Studio after installing, and then go to your SDK folder (C:\users\username\AppData\Local\extras\intel\Hardware_Accelerated_Execution_Manager, if you accepted the defaults). In this directory Go to extras\intel\Hardware_Accelerated_Execution_Manager and run the file named "intelhaxm-android.exe".

Then, re-enter the Studio, before running the AVD again.

Also, I found that when I updated from Android Studio 1.5 to version 2.0, I had to create entirely new AVDs, because all of my old ones ran so slowly as to be unusable (e.g., they were still booting up after five minutes - I never got one to completely boot). As soon as I created new ones, they ran quite well.

Solution 4 - Android

I tried all the suggested remedies and none had any impact. The Android Studio emulator experience was simply unusable with my setup (Windows 10, AndroidStudio 3.5, Quadcore 3.2 Ghz, 32GB with SSD drive).

I tried Updating Studio, Installing Intel HAXM, Changing the memory settings via SDK, using an actual device, excluding the various folders from in the Windows Anti-virus among other things.

The solution that made it work like a breeze was to exclude the Android Debug Bridge (adb.exe) "as a process" from the Windows Security / Virus Protection. You can either do it yourself or read the details below to know how to do it.

I suggest verifying the severity of the speed issue yourself. The same will be used to verify the difference immediately after you apply the remedy. Running the options from within Android Studio just makes it more complex.


Steps to check the issue:

  1. Get the path for your Android SDK Tools. You can find it from SDK Manager -> Appearance and Behavior -> System Settings -> Android SDK.

  2. Open a command prompt or terminal window. You can do right click on Windows (Start) Icon -> Run and execute "cmd". This should give you a windows command prompt or terminal window.

  3. In the terminal window, change your drive and path to your Android SDK folder using the CD command. Now change to the sub-folder Platform-tools.

  4. You will find the Android Debug Bridge (adb.exe) in this folder. This plays a very crucial role in operating the emulator as well as the actual device.

  5. In the terminal window, execute the adb.exe tool with the command adb. It should instantly return back with the help parameters for adb.

  6. Now execute adb.exe with a command like - adb devices. This should simply stall and take several seconds to come back with the information even if you have no devices or emulator running. In my setup it took almost 30 seconds. This is the issue.

Anything you do with the emulator goes via adb and gets stuck here. Once the remedy is applied, it should execute the adb devices command as instantly as the simple adb command without any parameter.


Steps to remedy:

  1. Go to Windows "Virus and Threat Protection" setting. There are several ways to reach it. You can use Right Click on Windows (Start) Icon and choose Settings. Choose Update & Security, then Windows Security, then Virus and Threat Protection.

  2. You will find the option Virus and Threat Protection Settings. Select it. You will find several options, look for Exclusions. Select the option Add or remove exclusions. This will take you to the list of Files, Folders, Processes which are presently excluded by the windows anti-virus. It may be empty or may have some data.

  3. Select "+ Add an Exclusion". You will find 4 options - File, Folder, File Type and Process. This is critical. Please choose Process.

  4. In the "Enter Process Name" input box type in the name adb.exe. Please dont forget to type in the extension, just putting adb will not work. Accept the input with "Add" button.

You are done. Now goto the command prompt again and follow the same steps you did earlier to check the issue. Hopefully you will be pleasantly surprised and your entire Android Studio emulator experience should become seamless.

Note that the steps may slightly vary depending upon your version of Windows, Android Studio and SDK tools however it should still apply.

Solution 5 - Android

Check this: https://stackoverflow.com/questions/1554099/slow-android-emulator?rq=1

Android Emulator is very slow on most computers, on that post you can read some suggestions to improve performance of emulator, or use android_x86 virtual machine

Solution 6 - Android

As @Xavi mentioned, Android Emulator is normally slow and lags a lot. Either test your app on an actual device or use an alternative emulator such as BlueStack or Android-X86.

Another tip for using emulator is to not close if you ain't done testing your application. Just leave it open. In this case you skip the time it takes to launch.

Solution 7 - Android

Use x86 images and download "Intel Hardware Accelerated Execution Manager" from the sdk manager.

See here how to enable it: http://developer.android.com/tools/devices/emulator.html#accel-vm

Your emulator will be super fast!

Solution 8 - Android

The emulator is much much faster when running on Linux. In Ubuntu 13.04, it launches within 10 seconds, and it runs nearly as smoothly as on a physical device. I haven't been able to reproduce the performance on Windows.

EDIT: Actually, after the first boot, when using the Atom arch. and GPU acceleration, the Windows emulator runs nearly as well as in Linux.

Solution 9 - Android

Try increasing your ram of intel HAXM by reinstalling it.. Worked for me.. In my pc HAXM setup's location was here: C-Users-Pc's_name-AppData-Local-Android-sdk-extras-intel-Hardware_Accelerated_Execution_Manager

Solution 10 - Android

Check this list:

  1. install Intel HAXM
  2. just use x86 AVD
  3. use small size screen

Solution 11 - Android

I tend to load AVD through snapshot which can be setup in the AVD Manager > Choose AVD > Details... > Checking Emulator Options: Snapshot, and then to run the AVD, Select AVD in AVD Manager > Start... > Select Save To Snapshot and Launch from Snapshot. The first time, ensure that save to snapshot is chosen, as no snapshot exists to launch. The next time onwards choose launch from snapshot.

Slightly apprehensive to suggest this as well, but I have noticed a peculiar behavior when loading and running AVD. When I have the laptop battery being charged on my Lenovo laptop - 64 bit Windows 7, 4GB, 2.5GHz machine, the emulator loads and runs slightly faster and also lags less. I wonder if it is the configuration on my laptop to slow down high computational processes. Would be nice to know if someone else has noticed this behavior? Unplug the charger when the AVD is loaded and see if the AVD slows down.

Solution 12 - Android

A quick fix if using Android Studio (or Eclipse) is to disable the boot animation.

  1. Select Run > Edit Configurations

  2. Android Application > YOURAPP

  3. Select the "Emulator" tab and check the "Disable boot animation"

This is will stop the "ANDROID" image from loading and boot directly to the lock screen, then keep your the emulator open. Also, to avoid problems, don't rotate the device before launch (Cmnd + Ctrl + F11), and don't try to run the app more than once during installation.

Solution 13 - Android

Android Development Tools (ADT) 9.0.0 (or later) has a feature that allows you to save state of the AVD (emulator), and you can start your emulator instantly. You have to enable this feature while creating a new AVD or you can just create it later by editing the AVD.

Also I have increased the Device RAM Size to 1024 which results in a very fast emulator.

Refer the given below screenshots for more information.

> Creating a new AVD with the save snapshot feature.

enter image description here

> Launching the emulator from the snapshot.

enter image description here

And for speeding up your emulator you can refer to Speed up your Android Emulator!:

Solution 14 - Android

Try using another android virtual device. You can create one by adding a new device by going to the AVD Manager. Select the screen size 3'2 and API-10 (gingerbread).

This worked for me, and it is super-fast now.

P.S.- My laptop used to take forever to load the emulator, and It never got started due to insufficient memory(4.2). I used to get restart again and again. This solved my problem.

Solution 15 - Android

Google Launches Android Studio 2.0 With Improved Android Emulator And New Instant Run Feature

New Features in Android Studio 2.0 :

1.Instant Run: Faster Build & Deploy

You can quickly see your changes running on your device or emulator.
Enable Instant Run follow this steps:

1.open Settings/Preferences
2.go to Build, Execution, Deployment
3.Instant Run. Click on Enable Instant

Please see this video of Instant Run --> Instant Run

2.GPU Profiler

For developers who build graphics-intensive apps and games, the Studio now also includes a new GPU profiler. This will allow developers to see exactly what’s happening every time the screen draws a new image to trace performance issues.

click here for more details about the GPU Profiler tool

Getting Started Guide for Android Emulator Preview

For more detail about android 2.0 Biggest and best update of 2015 you can see very good article Author by @nuuneoi :

First Look at Android Emulator 2.0, the biggest and the best update yet in years

Solution 16 - Android

In my case, the problem was coming from the execution of WinSAT.exe (located in System32 folder). I disabled it and issue solved.

> To turn it off:

> 1. Start > Task Scheduler (taskschd.msc) 2. Find Task Scheduler (Local)

  1. Task Scheduler Library
  2. Microsoft > Windows > Maintenance
  3. Right click WinSAT
  4. Select disable.

>The Reference

Also, suppress it from Task Manager or simply reboot your machine.


Point: In this situation (when the problem comes from WinSAT) emulator works (with poor performance) when you use Software - GLES 2.0 and works with very very poor performance when you use Hardware - GLES 2.0.

Solution 17 - Android

Aside from what everyone has already said about HAXM and other configuration settings as solutions for this problem, my solution had nothing to do with software configuration or processor limitations.

I setup Android studio on an older HDD and I had Visual Studio running an android emulator on an SSD. My bottleneck was the old HDD - the SSD I had resulted in more speed.

The solution - albeit not the best for you - is to look in installing an SSD. This is not a very feasible solution in 90% of the cases but for me the root cause was linked to my hardware - not my software config.

Hope this helps another person facing a similar problem!

Solution 18 - Android

This worked for me. My size on disk was just too high for the emulator to run correctly. Wiping the data took it from 4.9 GB to 2.9 GB. Click on the AVD manager at the top right and it will pull up a screen with all your devices. In row with your device the very last icon will be a drop down arrow, click it. Click 'Wipe Data' then 'Cold Boot'

Solution 19 - Android

For those who enabled HAXM and the emulator still works slow here is what you should do:

  1. If Avast antivirus is running on your computer, it is most likely the culprit.

as per HAXM Release_Notes.txt (Version 7.5.2):

> - On Windows, Avast Antivirus may interfere with HAXM and cause Android Emulator or QEMU to run very slowly. A workaround is to uncheck "Use nested virtualization where available" in Avast Settings > Troubleshooting.

So open your Avast dashboard > Menu > Settings > Troubleshooting and disable "Enable hardware-assisted virtualization"

enter image description here

  1. Give a higher priority to your emulator's process in the Task Manager:

Locate your emulator's process in the Task Manager > Details tab:

Right-click on it and Set Priority -> Above normal enter image description here

Sorry that the screenshot is not in English but you got the point, right? That helped me significantly! I hope it will help you as well.

Also, one thing as per the Release Notes:

> - On Windows 8, 8.1 and 10, it is recommended to disable Hyper-V from Windows Features in order for the HAXM driver to properly function.

In my case, I didn't have any "Hyper-V" feature on my Windows 8.1 but you probably should try it, just in case. To locate and disable that feature see this article: https://support.bluestacks.com/hc/en-us/articles/115004254383-How-do-I-disable-Hyper-V-on-Windows-

Solution 20 - Android

This is probably because incomplete files in your sdk . Sometimes firewall of ur office or somewhere blocks it and hence error message comes saying peer not authenticated I was facing the same problem but after downloading all the files by getting firewall access My emulator is working properly and much faster than before

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMandyView Question on Stackoverflow
Solution 1 - AndroidKishan B ManavadariyaView Answer on Stackoverflow
Solution 2 - AndroidvivekView Answer on Stackoverflow
Solution 3 - AndroidCarlView Answer on Stackoverflow
Solution 4 - AndroidVikashView Answer on Stackoverflow
Solution 5 - AndroidXaviView Answer on Stackoverflow
Solution 6 - AndroidSam R.View Answer on Stackoverflow
Solution 7 - AndroidandQlimaxView Answer on Stackoverflow
Solution 8 - AndroidCatchingAvocadosView Answer on Stackoverflow
Solution 9 - Androidsanidhya palView Answer on Stackoverflow
Solution 10 - AndroidRasoul MiriView Answer on Stackoverflow
Solution 11 - AndroidJohnView Answer on Stackoverflow
Solution 12 - AndroidwhyozView Answer on Stackoverflow
Solution 13 - AndroidGirish PatelView Answer on Stackoverflow
Solution 14 - AndroidAkash ChandwaniView Answer on Stackoverflow
Solution 15 - AndroidDhaval JivaniView Answer on Stackoverflow
Solution 16 - AndroidMir-IsmailiView Answer on Stackoverflow
Solution 17 - Androidcr1ptoView Answer on Stackoverflow
Solution 18 - AndroidTech TronView Answer on Stackoverflow
Solution 19 - AndroidKirill KarmazinView Answer on Stackoverflow
Solution 20 - AndroidAndroid NoobView Answer on Stackoverflow