android 为什么每次讲字符串转换成drawable之后图片就缩水了

            服务端传的是16进制的字符串,我先要把它转换成String,然后转成drawable,但是突然发现,每次上传后图片都变模糊了一点,
            然后我就试着把一张图片反复的(16进制字符串->String->drawable->String->16进制字符串),
            然后图片就慢慢的变成了马赛克,最后没有了。这是为什么啊?这些转换的代码都是百度上搜的。

你的drawable应该转成了类似jpg的有损压缩格式,而且设置的照片品质还很低,因此每次都会损失一点图片质量,直到最后变成马赛克。
你可以尝试改变转换格式为无损的,或采用最高质量的压缩模式。

直接转换估计有损伤吧!楼主你转换的代码怎么搞得

/**
* String转换drawable
*
* @param icon
* @return
*/
public Drawable byteToDrawable(String icon) {
byte[] img = null;
try {
img = Base64.decode(icon.getBytes(), Base64.DEFAULT);
}catch (Exception e){

    }

    Bitmap bitmap;
    if (img != null) {
        bitmap = BitmapFactory.decodeByteArray(img, 0, img.length);
        @SuppressWarnings("deprecation")
        Drawable drawable = new BitmapDrawable(bitmap);

        return drawable;
    }
    return null;

}

    这是转换的代码