Android:将字节数组转换为位图崩溃

时间:2017-10-13 07:31:09

标签: android bitmap xamarin.android

当我尝试将大字节数组转换为位图时,应用程序崩溃了。例外是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))

0 个答案:

没有答案