On each Xamarin target platform, release packages differ in several ways from the development packages prepared during the development and testing phases. Release packages are optimized to take up less space and consume less resources in the runtime (both processing time and memory resources). They also do not contain symbol files or inter-process communication channels (such as Java Debug Wire Protocol (JDWP)) required for just-in-time (JIT) debugging. It is also important to mention that Xamarin.iOS and Xamarin.Android projects, once built for release, are virtually no different from applications built with native development tools.
In order to prepare the application for release, developers need to take several preparation steps before actually building the application. These steps differ slightly on each platform.