Does every android app allocated 16MB even if its size is less for example only ~2MB. As below documentation says:the baseline Android memory class is 16
int getMemoryClass () Return the approximate per-application memory class of the current device. This gives you an idea of how hard a memory limit you should impose on your application to let the overall system work best. The returned value is in megabytes; the baseline Android memory class is 16 (which happens to be the Java heap limit of those devices); some device with more memory may return 24 or even higher numbers.