Xamarin Forms Android 引发 java.lang.OutOfMemoryError 异常

4

我有一个Xamarin Forms Android应用程序,版本号为2.5.1.527436,现在我想将Xamarin Forms版本升级到5.0.0.2012,以更新应用程序中使用的控件并改善其性能。

在将Xamarin Forms版本升级到5.0.0.2012后,我在启动页之后的应用程序中遇到了Java.lang. Out of memory异常。以下是崩溃报告。

java.lang.OutOfMemoryError: Failed to allocate a 7814092184 byte allocation with 1912926 free bytes and 510MB until OOM, max allowed footprint 3825854, growth limit 536870912
at crc643f46942d9dd1fff9.ButtonRenderer_ButtonClickListener.n_onClick(Native Method)
at crc643f46942d9dd1fff9.ButtonRenderer_ButtonClickListener.onClick(ButtonRenderer_ButtonClickListener.java:30)
at android.view.View.performClick(View.java:6304)
at android.view.View$PerformClick.run(View.java:24803)
at android.os.Handler.handleCallback(Handler.java:794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6635)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

我尝试了下面的解决方案,但问题并没有得到解决。

如何修复在 Xamarin.Forms Android 应用中 Java.Lang.OutOfMemoryError 的错误?

Android:java.lang.OutOfMemoryError:失败 - 分配一个大小为 23970828 字节的内存块,2087152 字节是空闲的并且 OOM 在 2MB 内

为什么会出现这种异常?

1个回答

2
进行如此大的更新有时会很困难。您可以先尝试进行小的升级,比如到Xamarin.Forms 4,如果问题得到解决,您可能想要升级到XF 4.8或直接升级到5.0。
您可以选择任何版本,但最终目标将是5.0。
您发布的特定错误的解决方案是增加堆大小。但也许您应该尝试查找错误的原因。它可能位于您的App类中,或者可能位于您的XAML中,但尝试进行优化也是一个好的实践。

Juan,感谢您的回复。我会尝试先升级到XF 4,然后看看是否解决了问题。 - Vijay457
你好!你能做到吗? - Juan Sturla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接