我是靠谱客的博主 疯狂香菇,最近开发中收集的这篇文章主要介绍SkAndroidCodec::NewFromStream returned null解决方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

android 7的系统上BitmapFactory.decodeStream函数第二次调用的时候会报错SkAndroidCodec::NewFromStream returned null,这是因为Android 7.0对BitmapFactory修改了BitmapFactory代码。

解决方法就是在两次decodeStream之间reset一下InputStream,增加如下的代码。


    try {
        is.reset();
    } catch (IOException e) {
        return null;
    }

 于是,读取bitmap代码如下

private Bitmap getImage(String imagename) {
    // Log.dd(logger, "AsyncImageLoader: " + ORDNER_IMAGES + imagename);

    AssetManager asset = context.getAssets();
    InputStream is = null;
    try {
        is = asset.open(ORDNER_IMAGES + imagename);
    } catch (IOException e) {
        // Log.de(logger, "image konnte nicht gelesen werden: " + ORDNER_IMAGES + imagename);
        return null;
    }


    // First decode with inJustDecodeBounds=true to check dimensions
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decodeStream(is, null, options);
 
try {
    is.reset();
} catch (IOException e) {

}
// Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, PW, PH); // Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; // Lesen des Bitmaps in der optimierten Groesse return BitmapFactory.decodeStream(is, null, options);}


来源:

https://stackoverflow.com/questions/39316069/bitmapfactory-decodestream-from-assets-returns-null-on-android-7

最后

以上就是疯狂香菇为你收集整理的SkAndroidCodec::NewFromStream returned null解决方案的全部内容,希望文章能够帮你解决SkAndroidCodec::NewFromStream returned null解决方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部