使用BitmapFactory.DecodeResourceAsync Xamarin

时间:2016-05-08 15:49:55

标签: android xamarin bitmap xamarin.android

我正在使用此代码加载图片

async Task<BitmapFactory.Options> GetBitmapOptionsOfImageAsync()
{
    BitmapFactory.Options options = new BitmapFactory.Options
                                    {
                                        InJustDecodeBounds = true
                                    };

    // The result will be null because InJustDecodeBounds == true.
    Bitmap result=  await BitmapFactory.DecodeResourceAsync(Resources, Resource.Drawable.samoyed, options);

    int imageHeight = options.OutHeight;
    int imageWidth = options.OutWidth;

    _originalDimensions.Text = string.Format("Original Size= {0}x{1}", imageWidth, imageHeight);

    return options;
}

https://developer.xamarin.com/recipes/android/resources/general/load_large_bitmaps_efficiently/

除了Marshmallow options返回null之外,它工作正常。我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题。我发现只有在使用带有API 23(Marshmallow)的Visual Studio模拟器进行调试时才会出现此问题。我没有使用其他模拟器测试它。

当我使用物理设备进行调试时,问题没有发生。

请务必在Android 6.0 (Marshmallow)中为Compile using Android version:Target Android version:选择Application properties

在编译Release版本时,请务必将Linker properties设置为Android OptionsSdk Assemblies Only