Android Build Performance and Reliability
As a Xamarin developer working on Android apps, you may be well-aware of two issues that slow down your everyday development; build times and the correctness of the build. If you aren’t sure what the latter is, think back to the last time you had to manually remove your bin/obj folders within your project in order to fix a failure.
What you can expect
Hello Forms – A File | New | Xamarin.Forms project.
SmartHotel360 – A sample Xamarin.Forms application.
Xamarin.Forms Control Gallery – The control gallery found in Xamarin.Forms.
Improvements to Incremental Build Times
|Hello Forms (no changes)||00:02.99||00:02.75||8.03%|
|Hello Forms (XAML change)||00:08.03||00:06.63||17.43%|
|SmartHotel360 (no changes)||00:03.74||00:03.54||5.35%|
|SmartHotel360 (XAML change)||00:10.62||00:08.34||21.47%|
|Xamarin.Forms (no changes)||00:16.48||00:11.20||32.04%|
|Xamarin.Forms (XAML change)||00:52.53||00:35.34||32.72%|
Improvements to Deploy Times
|Hello Forms (first)||00:15.22||00:12.90||15.24%|
|Hello Forms (no changes)||00:03.07||00:02.83||7.82%|
|Hello Forms (XAML change)||00:07.06||00:06.63||6.09%|
|SmartHotel360 (no changes)||00:03.88||00:03.69||4.9%|
|SmartHotel360 (XAML change)||00:09.03||00:05.10||43.52%|
|Xamarin.Forms (no changes)||00:16.82||00:11.90||29.25%|
|Xamarin.Forms (XAML change)||00:21.21||00:15.07||28.95%|
Initial Build Times
|Hello Forms (build)||00:35.93||00:37.33||+3.9%|
|Hello Forms (package)||00:07.74||00:07.33||5.3%|
|Hello Forms (deploy)||00:15.22||00:12.90||15.24%|
Interested in finding out more about future build performance and correctness improvements in Xamarin.Android? Check out our Build Performance Ideas and Build Performance Results wikis for more details.
We encourage everyone to engage with us on GitHub by reporting new issues or making suggestions. You can also use the Report a Problem option found in your favorite IDE via Help > Report a Problem to drop us a line.
A huge shout out to the Xamarin.Android Team, notably Jonathan Peppers, Dean Ellis, and Jonathan Pryor for their work on improving overall build performance and build correctness.