如何在我的Xamarin.Forms应用程序中启用大堆?
以下是MainActivity.cs
Android代码:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
RoundedBoxViewRenderer.Init();
LoadApplication(new App());
}
}
请参阅下面的例外截图:
答案 0 :(得分:1)
转到项目选项> Android Build>一般>启用MultiDex&选项> Android Build> Advacnced> JavaHeapSize(设置 3G ),在清单文件中,您可以在应用程序标记中添加 android:largeHeap =“true”
<application android:largeHeap="true"/>
答案 1 :(得分:1)
通过Appication
属性设置Dalvik / Art大堆的Xamarin方法:
using System;
using Android.App;
using Android.Runtime;
namespace LargeHeap
{
[Application(LargeHeap = true)]
public class XamarinApplication : Application
{
public XamarinApplication(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip)
{
}
}
}
如果为true,则应使用大型Dalvik堆创建进程;否则,将使用默认的Dalvik堆创建进程。
参考:https://developer.xamarin.com/api/property/Android.App.ApplicationAttribute.LargeHeap/
答案 2 :(得分:-1)
我的贡献对我有用:
[程序集:应用程序(LargeHeap = true)]
namespace Project.Droid
{
[Activity(.............)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
}
}