c# - Xamarin Forms Android 出 java.lang.OutOfMemoryError 异常

标签 c# android xamarin.forms xamarin.android out-of-memory

我有一个版本为 2.5.1.527436 的 Xamarin Forms Android 应用程序,现在我想将 Xamarin Forms 版本升级到 5.0.0.2012 以更新应用程序中使用的控件并改进它。
将 Xamarin 表单版本更新到 5.0.0.2012 后,我面临着 Java.lang。启动屏幕后应用程序的起始页面内存不足异常。以下是崩溃报告。

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)
我尝试了以下解决方案,但并不能解决问题。
How to fix Java.Lang.OutOfMemoryError in Xamarin.Forms android application?
Android:java.lang.OutOfMemoryError: Failed to allocate a 23970828 byte allocation with 2097152 free bytes and 2MB until OOM
如果有人可以帮助了解为什么会发生异常,那将很有帮助。
问候,
维杰。

最佳答案

有时很难进行如此大的更新。你可以先尝试做一个小升级,比如说 Xamarin.Forms 4,如果问题解决了,你可能想去 XF 4.8 或直接升级到 5.0。
你可以去任何你喜欢的版本,但你的最终目标将是 5.0
您发布的有关特定错误的解决方案增加了堆。但也许你应该尝试寻找错误的原因。它可以在您的 App 类中,也可以在您的 XAML 中,但尝试优化它也是一个好习惯

关于c# - Xamarin Forms Android 出 java.lang.OutOfMemoryError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69267892/

相关文章:

android - DeviceAdminReceiver : onChoosePrivateKeyAlias not called

android - 如何使用 Jetpack 导航组件从 ViewPager 的 fragment 导航到其他 fragment ?

xamarin - 单击 "Cell control"like 按钮时获取 ListView 项目

c# - 以 xamarin 形式缩放 webview 的文本

c# - 泛型、继承和转换

c# - 在IQueryProvider的实现中构造Linq.EnumerableQuery时出现编译器错误

c# - 将 BindingList<T> 转换为 T 数组

java - Android AGP 4.2.0 + Java 11 编译失败

xamarin - 如何使项目符号点出现在标签中?

c# - Selenium - 在类后查找下一个元素