I usually prefer to use my real phone for debugging and testing my application. But I want to see it in other device configurations, especially the user interface. Even you build the user interface with a visual editor you need to see it runtime to fully visualize everything. Android emulator is very slow because it is emulating ARM code on an x86 system. Especially it is very slow to start so you should keep it open. To start it fast you may use Snapshot feature of emulator. Enable Snapshot while creating virtual device as shown below:
You have to enable Snapshot and start the device from this snapshot while launcher the emulator.
Increasing the devices RAM size to 1024M may also help a lit bit as shown on the first image. Especially on newer images.
But these will only make your emulator start fast, it will be still slow at run time. To make it fast at run time you have to use Intel’s x86 Android image. Install it using the instructions here. After installation execute the HAXM setup from <android-sdk>\extras\intel\Hardware_Accelerated_Execution_Manager folder. While creating your emulator using AVD Manager, you should select Intel x86 Atom as CPU type. For it to be enabled you have to select API level for which you have installed an Intel x86 Android Image. Note that, it is only available for API levels starting from 15. Also select GPU emulation, but this could not be used together with Snapshot feature. So you have to disable it. You will appreciate the speed difference when compared to ARM based emulator. Of course you can not use x86 emulator if you are doing hardware dependent development.