I have tested my android app on emulator and real device (redmi note 3). Both has same API 23.
During the android startup, emulator took about 15MB memory while real device took 33MB. It makes me surprise since they have same API version, though android OS on the real device may be modified by the phone provider. I was expecting them to have slightly difference in the memory comsumption, but not up to x2.
Is it something expected to be happened because of the different devices even through they have same android version?
It should be noted that an emulator is far more barebones than a real device. There are some services that don't exist on emulator like Bluetooth. The services that do exist may be implemented in a different way simply because it is an emulator and not a real device. Lastly, the phone manufacturers typically embed services in to the image that the emulator simply won't have. Putting it all together, a 18MB difference isn't that much and would be expected.