Xamarin形成微刻痕生成“;OutOfMemoryError“;

Xamarin形成微刻痕生成“;OutOfMemoryError“;,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我试图在我的应用程序中使用Microcharts图,它使用Xamarin.Forms(针对Android、iOS和UWP) 我尝试了以下几个教程来显示图表,但每次都会导致错误: 未处理的异常: Java.Lang.OutOfMemoryError:无法分配240048012字节的分配,5713730个可用字节和87MB的内存,直到OOM 如果我创建了一个新的Xamarin.Forms项目,这个错误就不会发生,而且它运行得非常好(我运行的是同一台Android设备,三星SM-J320FN) 以下是

我试图在我的应用程序中使用Microcharts图,它使用Xamarin.Forms(针对Android、iOS和UWP)

我尝试了以下几个教程来显示图表,但每次都会导致错误:

未处理的异常: Java.Lang.OutOfMemoryError:无法分配240048012字节的分配,5713730个可用字节和87MB的内存,直到OOM

如果我创建了一个新的Xamarin.Forms项目,这个错误就不会发生,而且它运行得非常好(我运行的是同一台Android设备,三星SM-J320FN)

以下是简化的XAML代码:



下面是隐藏的代码:

//图表的临时数据
列表条目=新列表
{
新条目(200)
{
Color=SKColor.Parse(“#FF1943”),
Label=“一月”,
ValueLabel=“200”
},
新条目(400)
{
Color=SKColor.Parse(“00bff”),
Label=“三月”,
ValueLabel=“400”
},
新条目(-100)
{
Color=SKColor.Parse(“#00CED1”),
Label=“Octobar”,
ValueLabel=“-100”
},
};

public DetailPage(string Code)
{
     ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.FromHex("27b286");

    InitializeComponent();

    priceChart.Chart = new LineChart() { Entries = entries, BackgroundColor = SKColor.Parse("#00FFFFFF") };
}

如果没有此图表,页面可以完全正常运行,即使在生成列表且图表包含在XAML中时,也似乎是通过代码隐藏初始化图表时导致问题。

我将
添加到我的AndroidManifest.xml中,这样做很好,但是,我仍然不知道是什么原因导致了如此多的内存被使用。

我不建议在不知道是什么原因导致OOM异常的情况下使用LargeHeap=true,因为这并不意味着它不会出现在内存少于您测试的其他设备上。而是从最低版本开始,而不是添加和迭代。我首先要做的一件事是使用一个简单的字符串,而不是一个条目。它有用吗?去一个。