在Xamarin.Android開發過程遭遇Java的OutOfMemory編譯錯誤訊息,該如何解決呢?
主題: |
在Xamarin.Android開發過程遭遇Java的OutOfMemory編譯錯誤訊息,該如何解決呢? |
文章簡介: |
在Xamarin.Android開發過程當中,可能因為所使用的相關套件過多,造成Java的OutOfMemory的編譯錯誤訊息?讓本文章的介紹教你解決吧~ |
作者: |
James Tsai |
版本/產出日期: |
V1.0/2016.5.31 |
1. 前言
• 在Xamarin.Android or Xamarin.Forms的開發過程當中,常常會引用到很多不同的套件或是不成熟的預覽套件,就可能會一直發生Java的OutOfMemory的編譯錯誤訊息,本篇文章就是在測試新版的Xamarin.Forms所加入的DeepLink功能時,用到很多預覽版的套件而造成這樣的問題。讓本篇文章告訴你問題的解決方式。
2. 環境準備
• Windows 8/8.1/10
• Visual Studio 2015 / Xamarin Studio
3. 本文
在Xamarin.Android or Xamarin.Forms的開發過程當中遇到Java的OutOfMemory的相關編譯錯誤訊息
• 在Xamarin.Android or Xamarin.Forms的開發時,編譯Android專案時遇到類似以下畫面的編譯錯誤訊息時的問題Java的OutOfMemory,在使用上要如何解決呢?
來重現此問題
• 在測試開發Xamarin.Forms由於Xamarin.Android專案已經增加很多其他的NuGet套件使用,除了本身Xamarin.Forms的專案已經先引用的NuGet外,Xamarin.Android的專案又有很多額外的NuGet套件安裝。所以當在要開發新功能DeepLink的時候,又引用了更多NuGet套件。
• 所以就會造成Xamarin.Android的專案在編譯時出現Java的OutOfMemory的錯誤訊息出現。
解決辦法
• 直接在Visual Studio當中,找到專案->該Xamarin.Android的專案屬性。
• 在選到Android Options的選項後,找到Advanced的分頁。
• 接著在下面的Advanced Android Build Settings的Java Max Heap Size填入1G。
• 重建該專案,就會看到編譯通過無誤。
4. 參考來源
• Error - java.lang.OutOfMemoryError: Java heap space
https://forums.xamarin.com/discussion/6069/error-java-lang-outofmemoryerror-java-heap-space
• Java heap space OutOfMemoryError when binding a big .jar
https://forums.xamarin.com/discussion/2132/java-heap-space-outofmemoryerror-when-binding-a-big-jar
• How to fix “OutOfMemoryError: java heap space” while compiling MonoDroid App in MonoDevelop