Use the linker (iOS , Android ) to remove unnecessary code from your assemblies  https://developer.xamarin.com/guides/ios/advanced_topics/linker  https://developer.xamarin.com/guides/android/advanced_topics/linking
Reference third-party libraries judiciously
Applying constraints to generics may reduce app size, since less code would need to be included (haven’t verified this)
Git Commit Best Practices
Commit Related Changes
A commit should be a wrapper for related changes. For example, fixing two different bugs should produce two separate commits. Small commits make it easier for other developers to understand the changes and roll them back if something went wrong. With tools like the staging area and the ability to stage only parts of a file, Git makes it easy to create very granular commits.
Committing often keeps your commits small and, again, helps you commit only related changes. Moreover, it allows you to share your code more frequently with others. That way it‘s easier for everyone to integrate changes regularly and avoid having merge conflicts. Having large commits and sharing them infrequently, in contrast, makes it hard to solve conflicts.