Android中的Bitmap序列化失败的一种解决办法

之前写了个User类(实现了Serializable接口),类变量里有Bitmap类型的头像图片,Bitmap导致序列化不成功,报 "android.graphics.Bitmap"相关错误


解决方法之一:把Bitmap对象替换成byte数组来表示间接表示图片,在需要Bitmap的时候再将byte数组转换成Bitmap对象。这是因为byte数组和Bitmap之间的可以转化,实现也比较方便。


附byte数组与Bitmap的相互转换方法:

Bitmap转换成byte数组

private byte[] bitmap2Bytes(Bitmap bitmap) {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 100, baos);
    return baos.toByteArray();
}

 byte数组转换成Bitmap

 private Bitmap byte2Bitmap(byte[] data) {
        return BitmapFactory.decodeByteArray(data, 0, data.length);
    }

猜你喜欢

转载自blog.csdn.net/qq_31371757/article/details/84303354