android - ImageSource.FromStream() 不适用于某些 Android 设备

标签 android xamarin xamarin.forms

我的内容页面上有一个 Image 元素。我想在我的 ContentPage 的构造函数中将 MemoryStream 源分配给它。这在 Samsung Galaxy A3 (Android 5.0.2) 上运行正常,但在 Samsung Galaxy Note 3 (Android 5.0) 上不显示任何内容(无错误、无异常、无图像)。它是 Xamarin.Forms 中的错误吗?还是我做错了什么?

代码:

Image image = new Image();
var path = "some/path/to/image.jpg";
var bytes = File.ReadAllBytes(path); //has correct byte array with correct length
image.Source = ImageSource.FromStream(() => new MemoryStream(bytes)); 

最佳答案

我也有同样的问题。

但是在相机中选择较低的分辨率,图像可以工作,我需要选择分辨率 < 9 Mpx 并且图像可以工作,分辨率越大图像就不能工作。 这取决于 android 版本和设备,这是一个内存不足的异常。

所以,我调整了用相机拍摄的图像的大小,它起作用了。

你可以安装 FFimageLoading 插件和 CachedImage 控件,我没有测试它,因为我更喜欢调整图像大小,应用程序更大有插件。

关于android - ImageSource.FromStream() 不适用于某些 Android 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37778352/

相关文章:

android - 理解andengine纹理加载

android - Xamarin Targetframework版本

iphone - xamarin.IOS 中的错误 AggregateException : One or more errors occurred.

xamarin.forms - ELCImagePicker - NuGet 包

android - fragment 如何在 Android Talkback 中启动时宣布自己?

android - 如何多次刷新Android listview?

c# - Xamarin - 二进制 XML 文件行 #1 : Error inflating class <unknown>

c# - 资源.Designer.cs : "Resource ... does not contain a definition for ..."

C# 在发布版本中不起作用

适用于多种 NFC 类型的 Android Intent 过滤器