gpt4 book ai didi

android - Xamarin Forms Android显示图片抛出异常

转载 作者:行者123 更新时间:2023-11-29 20:41:36 26 4
gpt4 key购买 nike

在页面中显示图库中的多张图片会引发异常。在一页上显示分辨率为(例如 3264x2488)的一张照片。但是当涉及到以高分辨率显示多个时,它会在 Android 上崩溃。分辨率越高,页面上显示的内容就越少。

https://github.com/Crunch91/RezepteTagebuch/blob/master/RezepteTagebuch/RezepteTagebuch/Views/RecipeView.xaml

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="RezepteTagebuch.Views.RecipeView">
<...>
<StackLayout HorizontalOptions="Fill" Orientation="Horizontal">
<Image Source="{Binding FoodPicture}"/>
<Image Source="{Binding DescriptionPicture}"/>
</StackLayout>
</...>

我可以在我的 ListView 中看到相同的行为。 ListView 中的一张照片效果很好。添加另一张照片后,它再次崩溃。

https://github.com/Crunch91/RezepteTagebuch/blob/master/RezepteTagebuch/RezepteTagebuch/Views/AllRecipeView.xaml

<StackLayout>   
<ListView ItemsSource="{Binding Recipes}" x:Name="recipeList">
<...>
<ViewCell>
<StackLayout HorizontalOptions="StartAndExpand" Orientation="Horizontal">
<Image WidthRequest="44" HeightRequest="44" Source="{Binding FoodPicturePath}" />
</StackLayout>
</ViewCell>
</...>
</ListView>
</StackLayout>

这是我的存储库,您可以在其中找到我正在运行的 Xamarin Forms 应用程序:

https://github.com/Crunch91/RezepteTagebuch

我正在使用 Android 4.3 的三星 Galaxy S3 进行调试

如果有人能提供帮助,我将不胜感激。

更新:

@idoT 是对的。我得到一个“OutOfMemoryException”。

在显示图像之前调整图像大小的最佳方法是什么?

最佳答案

有一篇关于 Android Developers how to load large bitmaps efficiently 的精彩文章:

public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
int reqWidth, int reqHeight) {

// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);

// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resId, options);
}

理想情况下,您会为屏幕上未显示的每张图片释放内存以释放资源。

关于android - Xamarin Forms Android显示图片抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30956945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com