我的内容页面上有一个 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/