An android emulator operates by emulating or imitating the behavior aspect of android phone such that it works the same as the physical android phone. Although android emulator is now faster than before but that hold true when it is configured properly. The interesting part about developing an app over an emulator is it eliminates the need of android device. The default Android emulator comes together with the Android SDK that is found in tools folder.
Virtualization layer is very important as it need to be ensured that correct virtualization layer is installed on OS. Intel HAXM software is prefered on Windows and Mac. For this a Virtualisation Technology enabled Intel CPU is required inside BIOS settings. Regarding detailed installation information refer to documentation pages.
Three important tips while choosing appropriate system image for your AVD are firstly, choose the recent dessert releases (API levels) as these run fast and are loaded with latest fixes and optimizations that suits emulator environment.
Next tip is to go for an x86 image which can be easily and quickly emulated on an x86 machine that in most cases would be used for development. last thing to keep in mind is to select a system image generally marked as “(with Google APIs)” , that signify image has few built in core apps like Google Map and Google Play Services that will help in testing the integrations.
The Final step to speed up emulator is to ensure GPU acceleration is working. Generally with updated drivers and modern graphic cards there’s no need to do take extra efforts to enable it. In case on any issues primary step is to ensure graphics card drivers are up to date. Here you can read more about command line switches for various emulation modes.
Still if you feel like tweak more parameters you can always go with re-assign CPU cores and RAM to emulated device based on machine’s capabilities. In case of any emulator related error please refer this Android Studio bug filing process.