我正在编写一个Xamarin.Forms应用程序,它显示用户收到的消息,该消息显示在StackLayout中,其主体和图像用于类似按钮。
我的问题是,当我有10条消息的时候,有时图像并没有显示出来。例如,除了第四个消息之外,它可能会在每条消息上呈现图像。
此仅似乎在Android上发生,iOS会为每个布局呈现图标,并且它们使用相同的代码。
我的代码:
foreach (var message in messages)
{
StackLayout childLayout = new StackLayout
{
BackgroundColor = Color.White,
Margin = new Thickness(10, 10, 10, 0),
Padding = new Thickness(10, 10, 15, 10),
Spacing = 0,
};
Label body = new Label() { Text = message.Body };
Image image = new Image() { Source = "like_icon.png" };
//There are other children but not related to question
childLayout.Children.Add(image);
mainStackLayout.Children.Add(childLayout);
}
答案 0 :(得分:1)
由于这是特定于Android的,因此可能是内存问题,因为Android在渲染图像时可能会快速耗尽内存。
一种解决方法是使用FFImageLoading插件。这允许使用相同图像源的多个图像引用仅使用一个位图,这大大减少了内存使用量。