Hi Sagar,
Every running application gets a unique UID, and for each application Zygote (the mother process) forks a new process and a new Dalvik instance, though all Dalvik instance share some common libraries and resources, so that applications can be launched as quickly as possible, It also reduces memory fingerprints.
Does every package has its own Dalvik instance and has assigned a different PID ? No not every package but when any package runs it gets a different PID.
Thanks,
Shridutt Kothari,
Impetus Infotech India Ltd.