SlideShare a Scribd company logo
1 of 20
Faster Builds and 
Emulators 
INTEL HAXM ● XAMARIN ANDROID PLAYER ● GENYMOTION
A Windows programmer’s evening 
WE WANT 
THIS
A Xamarin programmer’s evening 
(sometimes) 
AND NOT 
THIS
What slow builds do to a programmer 
WHY YOU 
NO BUILD 
FASTER??!!
Speeding up a build
Speeding up a build (contd.) 
• Don’t clean and rebuild unless you absolutely need to 
(Stackoverflow question about clean and build vs. rebuild) 
• Remove/exclude unnecessary projects, files and resources (esp. drawables) 
• Move as much code as possible into PCL so you can isolate builds – PCLs build faster
Removing unnecessary programs 
• Go to Run and type msconfig 
• Hide all Microsoft services 
• Uncheck any programs you know you don’t 
need unless you need them 
• Do the same process in your Task Manager 
under the “Startup” tab – disable 
unnecessary startup programs
Virtualization 
• Lets AVD share resources with your host OS 
• Execution faster than actual device in many 
cases 
• Lots of RAM needed – in addition to what the 
host OS needs 
• Letting it use host GPU boosts performance 
further 
• Computer should have a minimum 8 GB of RAM
First steps 
• Uninstall everything: VirtualBox, Genymotion, Xamarin Android Player and your existing AVDs 
• Make sure Hyper-V is disabled if you’re on Windows 8 or above 
• Delete some or all of your existing AVDs (not needed but to really start afresh) 
• Ensure that virtualization (Intel VT-x) is enabled – consult network team if needed 
• Remove artifacts from old installations by manually removing registry entries 
• Restart your computer
• Adjust for best performance or use custom settings 
• Affects RAM usage; frees up a bit 
• See this (old) and this (new) article about speeding up 
your system
Intel HAXM 
• Get the installer here (if you agree to the T&C) 
• Make sure you allot enough RAM during installation – at least 2.5 GB recommended 
• Do not run other programs that require virtualization such as Virtual Box or VMWare 
• Do not run Xamarin Android Player or Genymotion alongside an HAXM-enabled AVD 
• Allow an Intel HAXM—enabled AVD to run in isolation
• Choose “set manually” and allot highest possible RAM 
• Ensure that the RAM you allot in your AVD is ≤ (less than/equal to) this value
Fast-deploying emulators 
• Deployment is noticeably faster on some emulators 
• E.g. deploying on a Nexus 4 is a lot faster than deploying on a Nexus S 
• Use Nexus 4 where you can 
• Allot enough resources to your emulator – high RAM, high storage capacity, 80-100 heap size 
• Set this attribute in your app’s manifest file 
android:largeHeap="true"
For faster virtual devices 
• Install Intel x86 images for all Android APIs you use 
• Prefer using a lower API level in your AVD (KitKat and above are resource-intensive) 
(See: this page) 
• Prefer using a lower screen resolution in your AVD 
• Try disabling resource-intensive Windows features
Xamarin Android Player 
• Runs quite flawlessly on Windows 8.1 64-bit 
• Ensure that other virtualization “consumers”/devices are disabled and turned off 
• Ensure that Hyper-V is disabled 
• On Windows 7, there’ll probably be a few glitches (forum solutions didn’t work either ) 
• Bunch of known issues acknowledged by Xamarin 
• Install this prior to Genymotion
Genymotion 
• Uses VirtualBox like Xamarin Android Player 
• Make sure instances run separately 
• Install this after Xamarin Android Player and HAXM 
• Bunch of solutions in FAQs and docs
Wrapping up 
Unless advised in documentation, 
• Never run an emulator inside a VM 
• Only run one emulator of any type at a time (esp. HAXM, which powers only one AVD at a time) 
• Keep an eye on background processes; kill unnecessary processes 
• Keep as few (Explorer) windows open as possible 
• Prefer AVD+Intel HAXM > Xamarin Android Player > Genymotion
Conclusion: happy Xamarin programmers

More Related Content

What's hot

PowerCLI administration with a Windows Docker image
PowerCLI administration with a Windows Docker imagePowerCLI administration with a Windows Docker image
PowerCLI administration with a Windows Docker imageJustin Sider
 
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...Amazon Web Services
 
Gluster Metrics: why they are crucial for running stable deployments of all s...
Gluster Metrics: why they are crucial for running stable deployments of all s...Gluster Metrics: why they are crucial for running stable deployments of all s...
Gluster Metrics: why they are crucial for running stable deployments of all s...Gluster.org
 
Lessons From A DevOps Transformation on AWS
Lessons From A DevOps Transformation on AWSLessons From A DevOps Transformation on AWS
Lessons From A DevOps Transformation on AWSHrishikesh Barua
 
Exploring Windows XP to 7 Migration Options
Exploring Windows XP to 7 Migration OptionsExploring Windows XP to 7 Migration Options
Exploring Windows XP to 7 Migration OptionsDavid Strom
 
Scalr: Setting Up Automated Scaling
Scalr: Setting Up Automated ScalingScalr: Setting Up Automated Scaling
Scalr: Setting Up Automated ScalingHakka Labs
 
Virtualization
VirtualizationVirtualization
Virtualizationmasudonish
 
JUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our cultureJUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our culturePeter Mounce
 
A brief introduction to CloudFormation
A brief introduction to CloudFormationA brief introduction to CloudFormation
A brief introduction to CloudFormationSWIFTotter Solutions
 
LAMP Management with Virtualmin
LAMP Management with VirtualminLAMP Management with Virtualmin
LAMP Management with VirtualminJoe Ferguson
 
Bluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationBluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationCraig Trim
 
Hyun goo oVirt study - Presentation
Hyun goo oVirt study - PresentationHyun goo oVirt study - Presentation
Hyun goo oVirt study - PresentationJohnny Hyun Goo
 
Introducing Colama: virtual lab infrastructure for Enterprise
Introducing Colama: virtual lab infrastructure for EnterpriseIntroducing Colama: virtual lab infrastructure for Enterprise
Introducing Colama: virtual lab infrastructure for EnterpriseCoriolis Technologies
 
AWS Summit Bogotá Track Avanzado: EC2 avanzado
AWS Summit Bogotá Track Avanzado: EC2 avanzadoAWS Summit Bogotá Track Avanzado: EC2 avanzado
AWS Summit Bogotá Track Avanzado: EC2 avanzadoAmazon Web Services
 
Sync in an NFV World (Ram, ITSF 2016)
Sync in an NFV World  (Ram, ITSF 2016)Sync in an NFV World  (Ram, ITSF 2016)
Sync in an NFV World (Ram, ITSF 2016)Adam Paterson
 
A crash course in scaling wordpress
A crash course inscaling wordpress A crash course inscaling wordpress
A crash course in scaling wordpress GovLoop
 

What's hot (20)

PowerCLI administration with a Windows Docker image
PowerCLI administration with a Windows Docker imagePowerCLI administration with a Windows Docker image
PowerCLI administration with a Windows Docker image
 
Ansible Playbook
Ansible PlaybookAnsible Playbook
Ansible Playbook
 
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...
Re:Inventing your Innovation Cycle by Scaling Out with Spot Instances (CPN207...
 
Virapix
VirapixVirapix
Virapix
 
Gluster Metrics: why they are crucial for running stable deployments of all s...
Gluster Metrics: why they are crucial for running stable deployments of all s...Gluster Metrics: why they are crucial for running stable deployments of all s...
Gluster Metrics: why they are crucial for running stable deployments of all s...
 
Lessons From A DevOps Transformation on AWS
Lessons From A DevOps Transformation on AWSLessons From A DevOps Transformation on AWS
Lessons From A DevOps Transformation on AWS
 
Exploring Windows XP to 7 Migration Options
Exploring Windows XP to 7 Migration OptionsExploring Windows XP to 7 Migration Options
Exploring Windows XP to 7 Migration Options
 
Scalr: Setting Up Automated Scaling
Scalr: Setting Up Automated ScalingScalr: Setting Up Automated Scaling
Scalr: Setting Up Automated Scaling
 
Virtualization
VirtualizationVirtualization
Virtualization
 
JUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our cultureJUST EAT: Tools we use to enable our culture
JUST EAT: Tools we use to enable our culture
 
A brief introduction to CloudFormation
A brief introduction to CloudFormationA brief introduction to CloudFormation
A brief introduction to CloudFormation
 
VMUG RO Autolab Demo
VMUG RO Autolab DemoVMUG RO Autolab Demo
VMUG RO Autolab Demo
 
LAMP Management with Virtualmin
LAMP Management with VirtualminLAMP Management with Virtualmin
LAMP Management with Virtualmin
 
Bluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationBluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web Application
 
Hyun goo oVirt study - Presentation
Hyun goo oVirt study - PresentationHyun goo oVirt study - Presentation
Hyun goo oVirt study - Presentation
 
Introducing Colama: virtual lab infrastructure for Enterprise
Introducing Colama: virtual lab infrastructure for EnterpriseIntroducing Colama: virtual lab infrastructure for Enterprise
Introducing Colama: virtual lab infrastructure for Enterprise
 
AWS Summit Bogotá Track Avanzado: EC2 avanzado
AWS Summit Bogotá Track Avanzado: EC2 avanzadoAWS Summit Bogotá Track Avanzado: EC2 avanzado
AWS Summit Bogotá Track Avanzado: EC2 avanzado
 
Sync in an NFV World (Ram, ITSF 2016)
Sync in an NFV World  (Ram, ITSF 2016)Sync in an NFV World  (Ram, ITSF 2016)
Sync in an NFV World (Ram, ITSF 2016)
 
A crash course in scaling wordpress
A crash course inscaling wordpress A crash course inscaling wordpress
A crash course in scaling wordpress
 
colama EigenBoot
colama EigenBootcolama EigenBoot
colama EigenBoot
 

Similar to Faster Builds and Emulators (Xamarin.Android)

Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxWO Community
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best PracticesTomica Kaniski
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudEberhard Wolff
 
Windows optimization and customization
Windows optimization and customizationWindows optimization and customization
Windows optimization and customizationHiren Mayani
 
Virtualization
VirtualizationVirtualization
VirtualizationMadnanS
 
Improved development workflows using vagrant
Improved development workflows using vagrantImproved development workflows using vagrant
Improved development workflows using vagrantMakis Asimidis
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOpenStack Foundation
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/LinuxYogesh Ks
 
Platform Security Summit 18: Xen Security Weather Report 2018
Platform Security Summit 18: Xen Security Weather Report 2018Platform Security Summit 18: Xen Security Weather Report 2018
Platform Security Summit 18: Xen Security Weather Report 2018The Linux Foundation
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Eberhard Wolff
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in ComparisonJava in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparisonadesso AG
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual MachineRubal Sagwal
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMathew Beane
 
Docker introduction
Docker introductionDocker introduction
Docker introductionJo Ee Liew
 
Improving Game Performance in the Browser
Improving Game Performance in the BrowserImproving Game Performance in the Browser
Improving Game Performance in the BrowserFITC
 

Similar to Faster Builds and Emulators (Xamarin.Android) (20)

Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS Linux
 
Msdnaa and you
Msdnaa and youMsdnaa and you
Msdnaa and you
 
Building an iOS Build Server
Building an iOS Build ServerBuilding an iOS Build Server
Building an iOS Build Server
 
Msdnaa and you
Msdnaa and youMsdnaa and you
Msdnaa and you
 
Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best Practices
 
PROCESS WARP
PROCESS WARPPROCESS WARP
PROCESS WARP
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
 
Windows optimization and customization
Windows optimization and customizationWindows optimization and customization
Windows optimization and customization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Improved development workflows using vagrant
Improved development workflows using vagrantImproved development workflows using vagrant
Improved development workflows using vagrant
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/Linux
 
Platform Security Summit 18: Xen Security Weather Report 2018
Platform Security Summit 18: Xen Security Weather Report 2018Platform Security Summit 18: Xen Security Weather Report 2018
Platform Security Summit 18: Xen Security Weather Report 2018
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in ComparisonJava in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual Machine
 
Midwest PHP - Scaling Magento
Midwest PHP - Scaling MagentoMidwest PHP - Scaling Magento
Midwest PHP - Scaling Magento
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Improving Game Performance in the Browser
Improving Game Performance in the BrowserImproving Game Performance in the Browser
Improving Game Performance in the Browser
 

Recently uploaded

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Faster Builds and Emulators (Xamarin.Android)

  • 1. Faster Builds and Emulators INTEL HAXM ● XAMARIN ANDROID PLAYER ● GENYMOTION
  • 2. A Windows programmer’s evening WE WANT THIS
  • 3. A Xamarin programmer’s evening (sometimes) AND NOT THIS
  • 4. What slow builds do to a programmer WHY YOU NO BUILD FASTER??!!
  • 6. Speeding up a build (contd.) • Don’t clean and rebuild unless you absolutely need to (Stackoverflow question about clean and build vs. rebuild) • Remove/exclude unnecessary projects, files and resources (esp. drawables) • Move as much code as possible into PCL so you can isolate builds – PCLs build faster
  • 7. Removing unnecessary programs • Go to Run and type msconfig • Hide all Microsoft services • Uncheck any programs you know you don’t need unless you need them • Do the same process in your Task Manager under the “Startup” tab – disable unnecessary startup programs
  • 8. Virtualization • Lets AVD share resources with your host OS • Execution faster than actual device in many cases • Lots of RAM needed – in addition to what the host OS needs • Letting it use host GPU boosts performance further • Computer should have a minimum 8 GB of RAM
  • 9. First steps • Uninstall everything: VirtualBox, Genymotion, Xamarin Android Player and your existing AVDs • Make sure Hyper-V is disabled if you’re on Windows 8 or above • Delete some or all of your existing AVDs (not needed but to really start afresh) • Ensure that virtualization (Intel VT-x) is enabled – consult network team if needed • Remove artifacts from old installations by manually removing registry entries • Restart your computer
  • 10.
  • 11.
  • 12. • Adjust for best performance or use custom settings • Affects RAM usage; frees up a bit • See this (old) and this (new) article about speeding up your system
  • 13. Intel HAXM • Get the installer here (if you agree to the T&C) • Make sure you allot enough RAM during installation – at least 2.5 GB recommended • Do not run other programs that require virtualization such as Virtual Box or VMWare • Do not run Xamarin Android Player or Genymotion alongside an HAXM-enabled AVD • Allow an Intel HAXM—enabled AVD to run in isolation
  • 14. • Choose “set manually” and allot highest possible RAM • Ensure that the RAM you allot in your AVD is ≤ (less than/equal to) this value
  • 15. Fast-deploying emulators • Deployment is noticeably faster on some emulators • E.g. deploying on a Nexus 4 is a lot faster than deploying on a Nexus S • Use Nexus 4 where you can • Allot enough resources to your emulator – high RAM, high storage capacity, 80-100 heap size • Set this attribute in your app’s manifest file android:largeHeap="true"
  • 16. For faster virtual devices • Install Intel x86 images for all Android APIs you use • Prefer using a lower API level in your AVD (KitKat and above are resource-intensive) (See: this page) • Prefer using a lower screen resolution in your AVD • Try disabling resource-intensive Windows features
  • 17. Xamarin Android Player • Runs quite flawlessly on Windows 8.1 64-bit • Ensure that other virtualization “consumers”/devices are disabled and turned off • Ensure that Hyper-V is disabled • On Windows 7, there’ll probably be a few glitches (forum solutions didn’t work either ) • Bunch of known issues acknowledged by Xamarin • Install this prior to Genymotion
  • 18. Genymotion • Uses VirtualBox like Xamarin Android Player • Make sure instances run separately • Install this after Xamarin Android Player and HAXM • Bunch of solutions in FAQs and docs
  • 19. Wrapping up Unless advised in documentation, • Never run an emulator inside a VM • Only run one emulator of any type at a time (esp. HAXM, which powers only one AVD at a time) • Keep an eye on background processes; kill unnecessary processes • Keep as few (Explorer) windows open as possible • Prefer AVD+Intel HAXM > Xamarin Android Player > Genymotion