I'm sure that a lot of B4A developers test their application on the device(s) they own and think that's enough. It's far from sufficient. If an app runs well on your device, that means.... quite nothing. That just means that works on YOUR device. That's why the emulator is so important. With it:
- you can test with different heap memory sizes and check if some OOM occur;
- you can display your app with different and unusual resolutions;
- you can see how your application behaves on a very slow device.
Lately, I discovered with the emulator that my demo project was running a lot faster without the hardware optimization enabled (yes, "without"). It was not obvious at all on my device because I do not own a low-end device.
That being said, you cannot really develop with the emulator. It's very difficult to simulate some user actions with it. It's just there to check some parts of your code BUT it is mandatory.
You can also buy a large range of devices.