当我尝试将大字节数组转换为位图时,应用程序崩溃了。例外是OutOfMemory
。我知道这意味着什么,但我想知道同一设备上的其他应用程序如何处理大图像?我认为应该有一个技巧或其他东西。找到的唯一解决方案是调整图像大小,这对我来说不是一个选择。
编辑:不仅有一个地方不起作用
1
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (data != null)
{
Android.Net.Uri uri = data.Data;
profileImage.SetImageURI(uri);
using (Bitmap bitmap = MediaStore.Images.Media.GetBitmap(this.ContentResolver, data.Data)) //here it throws the exception
{
using (MemoryStream stream = new MemoryStream())
{
bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, stream);
byte[] array = stream.ToArray();
}
}
}
}
2
using (Bitmap bm = BitmapFactory.DecodeByteArray(byteArray, 0, byteArray.Length))